Авторизация и обновление текущих требований MVC 5
У меня есть 2 вопроса по поводу претензий:
1) В.Net 4.5 и MVC 5, как Microsoft реализует авторизацию, когда вы устанавливаете на контроллере AuthorizeAttirubte, проверяет ли она базу данных, чтобы получить роль пользователя? Или это использует претензии?
Я где-то читал, что Microsoft каждый раз использует базу данных для проверки роли, и они посоветовали написать новый AuthorizeAttribute для реализации проверки подлинности на основе утверждений.
Это статья, о которой я говорю: http://kevin-junghans.blogspot.be/2013/10/improving-performance-of.html
Или он устарел и теперь Microsoft использует роли в претензиях?
2) Второй вопрос об обновлении претензий:
Представьте, когда пользователь входит в систему, я устанавливаю его отображаемое имя в качестве претензии. Пользователь имеет возможность изменить свое отображаемое имя, поэтому он меняет его, но он по-прежнему видит свое старое отображаемое имя, пока он не переназначится в веб-сайте.
Было бы правильно как-то обновить претензию....? А как это сделать?
1 ответ
- Атрибут authorize использует такие вещи, как User.Identity, как IsAuthenticated/IsUserInRole, который косвенно рассматривает утверждения. Доступ к базе данных основан на обновлении файла cookie в отличие от проверки авторизации, то есть ее ортогональности.
- Претензии обновляются при создании файла cookie для входа (попадание в базу данных). Чтобы принудительно обновить претензии, вы можете просто уйти в отставку пользователя, который принудительно обновил.