Вы можете найти статью здесь:
Я также создал аналогичный пост здесь:
Хотя ответ, который я получил, был отличным, чтобы прояснить несколько вещей, но я все еще немного запутался в том, как его использовать, но больше в ожидаемом поведении (как вы увидите, если прочитаете мой пост).
Короче говоря, новые фильтры Authentication
срабатывают раньше, чем старые фильтры Authorization
.
Кроме того, насколько я понимаю, аутентификация была бы отличным способом проверить, аутентифицирован ли пользователь на вашем веб-сайте. Другими словами, дал ли этот пользователь в какой-то момент свои учетные данные, чтобы я мог найти их в базе данных. Если ответ положительный, то отлично... продолжайте.
Если ответ отрицательный, то пользователь НЕ аутентифицирован, что, в свою очередь, должно вернуть код состояния http 401 Unauthorized.
Что касается Authorization
, опять же, насколько я понимаю, пользователь неявно аутентифицирован, и он может быть Authorized
или не иметь доступа к определенной странице или ресурсу. Если это так, то я должен вернуть код статуса http 403 Forbidden. И здесь в игру вступает атрибут [Authorize]
.
Хотя это то, что я понимаю, поведение обоих этих фильтров не работает так, как я думаю, что они будут работать. Возможно, это связано с моим непониманием...
Например: кажется, что новый фильтр Authentication
не распознает (или не принимает во внимание) атрибут [AllowAnonymous]
. И, как я это вижу, так и должно быть.
С другой стороны, старый атрибут [Authorize]
распознает (и учитывает) атрибут [AllowAnonymous]
.
В конце концов, я не уверен, поможет ли это вам или еще больше запутает, но я все еще нахожусь в процессе игры с ними, чтобы полностью понять это.
person
Vlince
schedule
08.11.2013