C# 授权行为不一致
我有一个ASP.NET MVC5应用程序。我有一个控制器叫AjaxController。有一个方法SaveComment未使用[Authorize]属性修饰。控制器本身也不属于上述类。基本上代码如下C# 授权行为不一致,c#,asp.net,.net,asp.net-mvc,authentication,C#,Asp.net,.net,Asp.net Mvc,Authentication,我有一个ASP.NET MVC5应用程序。我有一个控制器叫AjaxController。有一个方法SaveComment未使用[Authorize]属性修饰。控制器本身也不属于上述类。基本上代码如下 public class AjaxController : BaseController { public ActionResult SaveComment(CommentViewModel viewModel) { // stuff } // stuff }
public class AjaxController : BaseController {
public ActionResult SaveComment(CommentViewModel viewModel) {
// stuff
}
// stuff
}
public abstract class BaseController : Controller {
// some comment stuff
}
这是Web.config设置
但当我从浏览器请求时,它会将我重定向到登录页面。
这种行为的原因是什么
编辑
我不重写OnActionExecuted和OnActionExecuting方法,也不重写身份验证管道
编辑
更多细节:我还有两个控制器HomeController和LoginController,它们在未经授权的情况下工作正常。另外,我还有另一个强制授权MyController的控制器,该类本身已与Authority解除了等级,当我试图用AllowAnonymous装饰某些操作时,该属性被忽略,并重定向到登录页。请尝试以下操作:
希望这有帮助。@oybek。。您是否有[AllowanOymous]登录标签?您是否确定您的路线没有混乱,并且正在将请求转发给需要授权的控制器?@Mathew是的,完全确定。当用户被授权时,它会工作。不,这没有帮助。
<authentication mode="Forms">
<forms loginUrl="/Login" timeout="20" slidingExpiration="true" />
</authentication>
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>