仅对asp.net mvc

时间:2017-01-24 11:51:46

标签: asp.net-mvc forms-authentication

我已经阅读了很多关于它的主题,但我找不到解决方案。 我正在使用管理区域的asp.net mvc 5应用程序。

我创建了一个继承自ActionFilterAttribute的过滤器,我已将其作为属性添加到我的控制器上。

public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var errorResult = new RedirectToRouteResult(new RouteValueDictionary
            {
                { "controller", "Login" },
                { "action", "Index" },
            });
        if (!filterContext.HttpContext.Request.IsAuthenticated)
        {
            filterContext.Result = errorResult;
        }

        base.OnActionExecuting(filterContext);
    }

LoginController使用AllowAnonymous属性。

我尝试登录但是请求未经过身份验证(我在调试模式下看到它)。我需要编辑web.config。

如果我在root web.config中添加以下代码:

 <system.web>
  <authentication mode="Forms">
    <forms loginUrl="~/Admin/Login" timeout="2880" />
  </authentication>
</system.web>

它有效但我的应用程序没有任何登录,只有管理区域有。 解决办法是什么? 我无法在web.config区域中编写此代码。 提前谢谢。

0 个答案:

没有答案