0

我正在使用 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;
    }

当广告用户登录到我的应用程序时,使用“strUserName”参数调用上述方法。在这里,我通过使用foreach来检查来自 azman 的所有用户角色,并在此foreach中基于角色获取membername,然后检查所有这些成员在角色下是否可用。如果成员在角色下可用,则表示将用户角色作为字符串返回。

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

I have a question, i added a AD-User group to Azman, Now i am logging in through userName, how do i get the Azman role ? 提前致谢...

4

0 回答 0