如何判断登录用户是否具有安全角色?

时间:2015-06-14 03:06:07

标签: c#-4.0 dynamics-crm-2011

我试图找出当前登录的用户是否具有某种安全角色。我已经看过谷歌(无法找到答案)和SDk示例(他们似乎太复杂了)。因此,如果您知道安全角色的名称和用户ID,您如何检查用户是否具有该角色?

2 个答案:

答案 0 :(得分:0)

如果您浏览CRM 2011 SDK的文件夹结构(链接:https://www.microsoft.com/en-us/download/details.aspx?id=24004)到此位置,您将找到所需内容:

  

。\ SDK \ SampleCode \ CS \ BusinessDataModel \ UsersAndRoles \ DoesUserBelongToRole.cs

它提供了一个构建为C#Console应用程序的示例。只要应用程序池用户有权访问您尝试连接的CRM组织,代码就可以在ASP.NET中运行。

希望这有帮助

答案 1 :(得分:0)

你应该能够找到很多例子。但是,要在JavaScript中获取当前用户角色,您可以使用: -

Xrm.Page.context.getUserRoles()

然而,这将返回GUID列表,然后您需要将其与系统中的角色进行比较。这部分有点棘手,但这篇文章很清楚地展示了如何做到这一点 http://www.infinite-x.net/2010/11/16/retreiving-user-roles-in-crm-2011/

在较高级别,您需要执行OData查询(针对RoleSet)以返回您想要比较的角色(或多个角色)。然后你将这些角色的GUID与getUserRoles()函数返回的GUID进行比较,你就可以了!