使用web.config关闭MVC中的身份验证

mut*_*tex 8 asp.net-mvc web-config

我有一个MVC站点,使用[授权]属性进行保护,但在生产网站上有一个问题,即在不同服务器上的一对或多个站点上使用单点登录.我想将身份验证作为原因; 有没有办法暂时关闭通过web.config的身份验证,以便可以访问具有授权属性的所有或一些控制器操作而无需登录?

编辑:

我尝试将以下内容添加到web.config:

<authentication mode="None" />
Run Code Online (Sandbox Code Playgroud)

但这会导致使用"授权属性"修饰的所有操作都呈现空白页面.没有授权的操作会继续有效

Eri*_*ips 9

有没有办法暂时关闭通过web.config的身份验证,以便可以访问具有授权属性的所有或一些控制器操作而无需登录?

不,这对于默认框架是不可能的.我很确定AuthorizeAttributeMVC源代码会尝试检查并查看用户是否已登录.如果没有经过身份验证的用户,将拒绝访问.


小智 8

使用[AllowAnonymous]允许未经授权的用户使用控制器中的特定操作.