授权行为不一致

时间:2014-02-17 09:11:27

标签: 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 abstract class BaseController : Controller {
    // some comment stuff
}

这是Web.config设置

<authentication mode="Forms">
  <forms loginUrl="/Login" timeout="20" slidingExpiration="true" />
</authentication>

但是当我从浏览器请求它时,它会将我重定向到登录页面。 这种行为的原因是什么?

修改

我不会覆盖OnActionExecutedOnActionExecuting,方法也可以使用身份验证管道。

修改

更多细节:我还有两个控制器HomeControllerLoginController,这些控制器在未经授权的情况下工作正常。另外我还有另一个强制授权MyController的控制器,并且该类本身用Authorize装饰,当我尝试用AllowAnonymous装饰某个动作时,该属性被忽略并重定向到登录页面。

1 个答案:

答案 0 :(得分:0)

请你试试这个:

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>

希望这会有所帮助..