【发布时间】:2011-11-10 16:23:24
【问题描述】:
[Authorize(Users = "*")] 在 asp.net mvc 中是什么意思?还请解释[Authorize(Users = "")]和[Authorize(Users = "?")].
谢谢。
【问题讨论】:
标签: asp.net-mvc
[Authorize(Users = "*")] 在 asp.net mvc 中是什么意思?还请解释[Authorize(Users = "")]和[Authorize(Users = "?")].
谢谢。
【问题讨论】:
标签: asp.net-mvc
要授权所有用户,只需省略使用[Authorize] 属性即可。要授权经过身份验证的用户,请使用 [Authorize] 属性。要授权特定角色或用户,您将拥有[Authorize (Users = "someuser")] 或[Authorize (Roles = "somerole")]。
【讨论】:
[Authorize] 属性单独用于授权经过身份验证的用户,这是正确的。
*) 必须仅用于配置授权规则,它可能在属性中未被识别为有效值。
[Authorize] 属性。要授权经过身份验证的用户,请使用 [Authorize] 属性。要授权特定角色或用户,即您将拥有 [Authorize (Users = "someuser")] 或 [Authorize (Roles = "somerole")]。
看着documentation for the attribute,您似乎不能那样使用它。默认情况下,AuthorizeAttribute 只允许访问经过身份验证和授权的用户,因此传递 *(全部)或 ?(访客)没有意义。
Users 属性用于进一步限制可以访问 Action 方法的经过身份验证的用户列表,以及 Roles 属性,该属性还可用于进一步过滤任何经过身份验证的访问。
【讨论】:
我认为第二个帖子是正确的,在 [Authorize(Users = " * ")] 中," * " 部分没有任何意义(在 web.config 中确实如此,但那是完全不同的东西)。
【讨论】: