C# - получить роль по логину пользователя в Azman

Я использую C# для получения роли от Azman Manager по логину User.

Это мой код,

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. Здесь я проверяю все пользовательские роли от azman, используя foreach, и в рамках этого 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 ?Заранее спасибо...

0 ответов

Другие вопросы по тегам