我有一个ASP.NET MVC5应用程序。我有一个名为AjaxController
的控制器。有一个方法SaveComment
没有用[Authorize]
属性修饰。控制器本身也不属于上述类。基本上代码如下
public class AjaxController : BaseController {
public ActionResult SaveComment(CommentViewModel viewModel) {
// stuff
}
// stuff
}
public abstract class BaseController : Controller {
// some comment stuff
}
这是Web.config
设置
<authentication mode="Forms">
<forms loginUrl="/Login" timeout="20" slidingExpiration="true" />
</authentication>
但是当我从浏览器请求它时,它会将我重定向到登录页面。 这种行为的原因是什么?
修改
我不会覆盖OnActionExecuted
和OnActionExecuting
,方法也可以使用身份验证管道。
修改
更多细节:我还有两个控制器HomeController
和LoginController
,这些控制器在未经授权的情况下工作正常。另外我还有另一个强制授权MyController
的控制器,并且该类本身用Authorize
装饰,当我尝试用AllowAnonymous
装饰某个动作时,该属性被忽略并重定向到登录页面。
答案 0 :(得分:0)
请你试试这个:
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
希望这会有所帮助..