2014-01-14 4 views
1

В моем приложении ASP.NET MVC 4 мне необходимо выполнить аутентификацию пользователя с использованием существующего http-заголовка значения, который содержит имя пользователя.ASP.NET MVC-аутентификация с использованием http-заголовка

Он работает с использованием проверки подлинности: пользователь перенаправляется на страницу входа, когда он еще не прошел аутентификацию. Контроллер страницы входа проверяет значение httpHeader и подключает пользователя с помощью FormsAuthentication.SetAuthCookie(username,false) и перенаправляет пользователя на главную страницу моего приложения.

Но я хочу избежать этого перенаправления и попытаться выполнить аутентификацию пользователя, когда пользователь «не прошел проверку подлинности».

Оси:

  • FormsAuthentication_OnAuthenticate
  • Override AuthorizeAttribute
  • AuthenticateRequest

ответ

0

Если я правильно вас понял, то вам просто необходимо установить currentPrincipal с именем

Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity(user, "Basic"),          new string[] {}); 

Итак, теперь он будет работать, и вы также можете получить доступ к пользователю. User.Identity.Name

Смежные вопросы