Мне нужно иметь возможность вручную разрешать моим пользователям в моем контроллере.
Я получаю свою аутентификацию от AD, а затем в своем контроллере,
Я хочу сопоставить userID, который я получаю из AD, во внутренний идентификатор пользователя моего приложения.
Возьмите userId из таблицы UserRole, а затем установите его в контроллере, однако
Я не знаю, как установить роль в контроллере?Настройка ролей пользователей в контроллерах?
Я попытался сделать это в моем родном контроллере:
HttpContext.User = новый System.Security.Principal.GenericPrincipal (User.Identity, RoleName);
roleName имеет значение «Admin», но это не работает, поскольку он всегда терпит неудачу. ?
Помогите пожалуйста ....
Привет Clicktricity, спасибо за ответ. Я думаю, что это не сработает, поскольку я использую ADFS для аутентификации моих пользователей. Из-за этого режим аутентификации I не является основанной на форме, поэтому оператор «if» всегда будет ложным. Я ошибаюсь? – TriFu
Достаточно справедливо - просто приспосабливайтесь к вашим потребностям. Ключ в том, что текущее назначение пользователя происходит во время OnPostAuthenticationRequest – Clicktricity
Не будет ли этот метод всегда проверять роль пользователя при попытке получить доступ к некоторым контроллерам? не существует способа сохранить роль пользователя в объекте сеанса или в каком-то cookie-файле? Таким образом, вам не нужно будет всегда попадать в БД для роли пользователя? – TriFu