Общая главная проблема Asp.net - PullRequest
1 голос
/ 04 октября 2010

Использование этого кода для аутентификации:

HttpContext.Current.User=new GenericPrincipal
  (new GenericIdentity(user.UserName), roles);
FormsAuthentication.SetAuthCookie(user.UserName,false);

Проблема в следующем запросе, HttpContext.Current.User.IsAuthenticated это true, но HttpContext.Current.User.IsInRole("admin") неверно.

Есть много информации в Google, но как-то ничего не помогает, как обычно.

Пытался добавить это в мой web.config:

<system.web>
  <roleManager enabled="false" />
</system.web>

Я не хочу использовать членство провайдера.

Любые советы?

Ответы [ 2 ]

1 голос
/ 04 октября 2010

Я думаю, что вы, возможно, пытаетесь использовать неправильный тип удостоверения, если вы используете проверку подлинности с помощью форм. Возможно, вам лучше использовать FormsIdentity.

Статья о передовых методах проверки подлинности с помощью форм (может быть устаревшей)

0 голосов
/ 04 октября 2010

Похоже, что метод IsInRole находится на неправильном интерфейсе.Попробуйте

HttpContext.Current.User.IsInRole("admin")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...