MVC 3 не распознает роль Windows (группа)? - PullRequest
0 голосов
/ 22 сентября 2011

Кто-нибудь сталкивался со случаями, когда MVC не распознает роли из Windows? Я думал, что роли переводятся в группы в Windows, но по какой-то причине, когда я добавляю пользователя в группу, проверьте в MVC (используя проверку подлинности Windows), если этот user.IsInRole ("GroupJustAddedTo") всегда возвращает false. Я понятия не имею, почему .... Работа в Server 2003 R2 с включенной проверкой подлинности Windows. Смущен: ~ (???

1 Ответ

1 голос
/ 22 сентября 2011

Не зная ничего другого, меня удивляет, если, возможно, ваш MVC действительно не подключен к вашему серверу AD. Кроме того, возможно, пользователь, который выбирает группы, не имеет достаточных привилегий? Просто некоторые начальные мысли.

РЕДАКТИРОВАТЬ

В итоге мы написали свой собственный RoleProvider. Вот перегруженный код GetRolesForUser

public override string[] GetRolesForUser(string userName)
{
    List<string> allRoles = new List<string>();
    PrincipalContext context;
    context = new PrincipalContext(ContextType.Domain, "hlpusd.k12.ca.us", "DC=hlpusd,DC=k12,DC=ca,DC=us");
    UserPrincipal user = UserPrincipal.FindByIdentity(context, userName);
    PrincipalSearchResult<Principal> usergroups = user.GetGroups(); // list of AD groups the user is member of
    IEnumerator<Principal> eGroup = usergroups.GetEnumerator();
    while (eGroup.MoveNext())
    {
        allRoles.Add(eGroup.Current.Name);
    }

    return allRoles.ToArray();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...