C#-通过Azman中的登录用户获取角色

C#-通过Azman中的登录用户获取角色,c#,asp.net,authorization,azman,authorizationmanager,C#,Asp.net,Authorization,Azman,Authorizationmanager,我正在使用C#通过登录用户从Azman Manager获取角色 这是我的密码 internal string AzRoleCheck(string strUserName) { string strRoleName = string.Empty; try { WindowsIdentity userIdentity = new WindowsIdentity(strUserName); cli

我正在使用C#通过登录用户从Azman Manager获取角色

这是我的密码

internal string AzRoleCheck(string strUserName)
    {
        string strRoleName = string.Empty;
        try
        {
            WindowsIdentity userIdentity = new WindowsIdentity(strUserName);
            clientContext = azApplication.InitializeClientContextFromToken((ulong)userIdentity.Token, null);
            foreach (IAzRole Azrole in azApplication.Roles)
            {
                strRoleName = Azrole.Name;
                foreach (object member in (object[])Azrole.MembersName)
                {
                    string strMemberName = member.ToString();
                    string[] str1 = Regex.Split(strMemberName, "@");
                    if (string.Equals(str1[0],strUserName,StringComparison.CurrentCultureIgnoreCase))
                        return strRoleName;
                }
            }
        }
        catch (Exception)
        {

            throw;
        }
        return strRoleName;
    }
当ad用户登录到我的应用程序时,使用'strUserName'参数调用上述方法。在这里,我使用foreach检查来自azman的所有用户角色,其中foreach根据角色获取
membername
,然后检查角色下是否有所有这些成员。如果该成员在角色下可用,则表示将userrole作为字符串返回

它工作得很好,但我的问题是,这是基于用户获取角色的正确方法吗

我有一个问题,我向Azman添加了一个广告用户组,现在我通过用户名登录,如何获得Azman角色?

提前谢谢……

我想是的!我发现了几个帖子,它们使用了相同的原则…@MehdiBugnard:谢谢你的建议。。。!!没问题。我希望这对你有帮助^^