我正在构建一个基于
例如,当我访问
我已经尝试实现自定义
有人能建议更好或更正确的解决方案吗? 编辑:自定义属性实现
ASP.NET MVC 5
的网站,使用基于OWIN
的认证。我在应用程序中创建了一个新的Area
,用于管理员面板。我希望有一个与普通用户不同的登录页面。例如,当我访问
http://site/admin/home/index
时,它应该检查授权并重定向到http://site/admin/account/login
,而不是跳转到站点用户登录页面。我已经尝试实现自定义
Authorize
属性。但是,我觉得这不是正确的方法。有人能建议更好或更正确的解决方案吗? 编辑:自定义属性实现
public class AuthorizeAreaAttribute : AuthorizeAttribute
{
public string Url { get; set; }
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.HttpContext.Response.Redirect(Url);
filterContext.HttpContext.Response.End();
}
base.OnAuthorization(filterContext);
}
}