我有一个项目布局,如:
Areas | Admin
Areas | FrontEnd
我想要[Authorize]
每个区域的用户(因为管理员将使用与 中的用户不同的表FrontEnd
。当我[Authorize]
在管理区域的控制器中使用标签时,它会将我重定向到在根web.config 文件中设置的表单身份验证登录 url .
是否可以覆盖每个区域?我看到每个区域都有一个 Web.config 文件,但如果我在其中添加它似乎会忽略表单身份验证设置。
如果我以错误的方式处理这个问题,我很乐意接受一些建议。
编辑:
我尝试了一些东西,但不知道这是否是最佳做法。基本上,实现我自己的CustomAuth
属性和重定向:
public class CustomAuth : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (!base.AuthorizeCore(httpContext))
httpContext.Response.Redirect("~/Admin/Account");
return true;
}
}
这是一种有效的方法吗?