#asp.net-mvc
#asp.net-mvc
Вопрос:
Что [Authorize(Users = "*")]
означает в asp.net mvc.? Также, пожалуйста, объясните [Authorize(Users = "")]
и [Authorize(Users = "?")].
Спасибо.
Ответ №1:
Чтобы авторизовать всех пользователей, просто не используйте [Authorize]
атрибут alltogether. Для авторизации аутентифицированных пользователей используйте [Authorize]
атрибут. Для авторизации определенных ролей или пользователей, то есть когда у вас будет [Authorize (Users = "someuser")]
или [Authorize (Roles = "somerole")]
.
Комментарии:
1. Я попытался [Авторизовать (пользователей = «*»)] действие. Он даже не разрешает аутентифицированным пользователям. Когда я добавляю просто [Авторизовать], это разрешает аутентифицированным пользователям.
2.
[Authorize]
Один только атрибут предназначен для авторизации аутентифицированных пользователей, это правильно.3. Начало (
*
) должно быть просто для правил авторизации конфигурации, возможно, оно не распознано в атрибуте как допустимое значение.4. Чтобы авторизовать всех пользователей, просто не используйте
[Authorize]
атрибут alltogether. Для авторизации аутентифицированных пользователей используйте[Authorize]
атрибут. Для авторизации определенных ролей или пользователей, то есть когда у вас будет[Authorize (Users = "someuser")]
или[Authorize (Roles = "somerole")]
.5. Спасибо, ребята. Я попал в ту же ловушку, что и OP
Ответ №2:
Глядя на документацию для атрибута, не похоже, что вы можете использовать его таким образом. По умолчанию AuthorizeAttribute разрешает доступ только аутентифицированным и авторизованным пользователям, поэтому передача *
(all) или ?
(guest) не имеет смысла.
Свойство Users используется для дальнейшего ограничения списка аутентифицированных пользователей, которые могут получить доступ к методу Action вместе со свойством Roles, которое также может быть использовано для дальнейшей фильтрации любого аутентифицированного доступа.
Комментарии:
1. Особенность в том, что когда я использую [Авторизовать (пользователей = «»)] , это просто разрешает аутентифицированным пользователям.
Ответ №3:
Я думаю, что второе сообщение правильное, в [Authorize(Users = " * ")]
" * "
части не имеет никакого смысла (в web.config
нем есть, но это что-то совершенно другое).