我正在使用 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 ?
提前致谢...