Что означает [Авторизовать (пользователей = «*»)] в asp.net mvc

#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 нем есть, но это что-то совершенно другое).