标签:ati lob 一个 post 控制器 cti 指定 设置 https
原文:解决ASP.NET MVC AllowAnonymous属性无效导致无法匿名访问控制器的问题
在ASP.NET MVC项目中,一般都要使用身份验证和权限控制,但总有部分网页是可以匿名访问的。使用AllowAnonymous属性就可以指定需要匿名访问的控制器,从而跳过身份验证。
但是今天却遇到一个AllowAnonymous属性失效的问题,导致声明了该属性控制器的操作方法无法匿名访问,需要登陆后才可访问。后经过排查,是由于配置文件属性设置的问题。
一般是这样声明这个属性的:
[AllowAnonymous]
public ActionResult Index()
{
return View();
}
声明了允许匿名访问后,用户访问该控制器下的Index操作方法时,就无需进行身份验证了
(PS:匿名属性启用的前提是网站启用了form身份验证)。
但是如果有发现声明了该属性后,却无法访问属性设置下的Action操作方法,反而跳转到身份验证的登陆页面。这个时候可以按下面步骤排除问题:
<authorization>
<deny users="?" />
</authorization>
将配置文件的此段配置删除后,就可以正常的匿名访问有声明允许匿名访问属性的Action操作方法了。
另外要说的一点,如果在ASP.NET MVC中已经使用了form身份验证,那么最好不要在配置文件中设置authorization元素,身份验证控制应该使用Authorize属性和AllowAnonymous属性。
作者:十有三
出处:http://shiyousan.com/post/635406153786208233
欢迎转载本文,本文版权归作者所有,转载请声明出处或保留此段声明。^_^请尊重他人劳动成果,共建美好的网络环境。
解决ASP.NET MVC AllowAnonymous属性无效导致无法匿名访问控制器的问题
标签:ati lob 一个 post 控制器 cti 指定 设置 https
原文地址:https://www.cnblogs.com/lonelyxmas/p/12900785.html