2011-11-10 30 views

Respuesta

9

Para autorizar a todos los usuarios, solo omita el uso del atributo [Authorize]. Para autorizar usuarios autenticados, use el atributo [Authorize]. Para autorizar roles o usuarios específicos, es cuando tendrá [Authorize (Users = "someuser")] o [Authorize (Roles = "somerole")].

+0

Lo intenté .. No funciona de esa manera .. – Muthukumar

+0

¿Qué has probado? ¿Lo que pasa? ¿Qué no funciona? –

+0

Intenté [Autorizar (Users = "*")] a una Acción. Ni siquiera permite usuarios autenticados. Cuando agrego solo [Autorizar], permite a los usuarios autenticados. – Muthukumar

0

Al mirar documentation for the attribute, no parece que pueda usarlo de esa manera. De forma predeterminada, AuthorizeAttribute solo permite el acceso a usuarios autenticados y autorizados, por lo que pasar * (todo) o ? (invitado) no tiene sentido.
La propiedad de los usuarios se utiliza para restringir aún más la lista de usuarios autenticados que pueden acceder al método de acción junto con la propiedad Roles, que también se puede utilizar para filtrar aún más el acceso autenticado.

+0

Una cosa peculiar es que cuando uso [Authorize (Users = "")], solo permite usuarios autenticados. – Muthukumar

+0

Gracias Andy por la información – Muthukumar

0

Creo que la segunda publicación es correcta, en [Authorize(Users = " * ")] la parte no tiene ningún sentido (en el web.config sí, pero eso es algo completamente diferente).

Cuestiones relacionadas