2014-01-20 7 views
0

Я хотел бы кратко разобраться, как фильтр затвора и FormAuthentication.SetAuthCookie работают за занавесками. Это единственное, что я считаю неоднозначным после прочтения некоторых книг на этом языке.Авторизовать фильтр и аутентификацию

Я не понимаю, как фильтр авторизации знает, где искать. А как насчет FormsAuthenticationTicket VS FormAuthentication? И является самым безопасным способом для печенья, я имею в виду, что я уверен, что можно экспортировать cookie из браузера и использовать его где-то еще ..?

ответ

0

Возможно, это question полезно.

Если вы заинтересованы в том, как фильтр Авторизоваться работает более подробно вы можете просмотреть исходный код: AuthorizeAttribute

Вкратце, Authorize фильтр будет проверять, является ли пользователь прошел проверку подлинности путем проверки HttpContext.User.Identity.IsAuthenticated свойства. Свойство User будет установлено модулем FormsAuthenticationModule в случае проверки подлинности с помощью форм.

Метод FormsAuthentication.SetAuthCookie создает билет для аутентифицированного пользователя (при условии, что пользователь предоставил правильные учетные данные) и добавляет его в коллекцию файлов cookie ответа. В качестве альтернативы, модуль может быть настроен на использование аутентификации без добавления cookie, если вы хотите, но зашифрованный билет все равно отправляется с каждым HTTP-запросом. В любом случае клиенту (браузеру) нужен способ сообщить серверу, что запрашиваемая аутентификация.

Что касается проблем, связанных с безопасностью, то есть некоторые идеи в вопросе this.

+0

Спасибо за резюме и все ссылки. А как насчет FormsAuthenticationTicket? В проекте я работаю, я вижу это вместо FormAuthentication. Однако в моих книгах я ничего не видел об этом. Есть предположения ? Еще раз спасибо. – simonauger

+0

FormsAuthenticationTicket - это объект, который содержит значения, используемые FormsAuthenticationModule для идентификации пользователя. В основном он содержит дешифрованные значения аутентификации, такие как имя пользователя и сведения об cookie аутентификации. –

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