Asp.net mvc 4 如何在mvc internet应用程序模板中重定向到管理员登录页面?(通过defaut,它重定向到帐户/登录页面) 我在用户站点和管理员站点登录页面
我有行动 [授权] 公共操作结果更改配置文件(用户模型) { //我的代码 } 管理站点中的操作Asp.net mvc 4 如何在mvc internet应用程序模板中重定向到管理员登录页面?(通过defaut,它重定向到帐户/登录页面) 我在用户站点和管理员站点登录页面,asp.net-mvc-4,Asp.net Mvc 4,我有行动 [授权] 公共操作结果更改配置文件(用户模型) { //我的代码 } 管理站点中的操作 [Authorize(Roles="Admins")] public ActionResult UserManager(User model) { // my code } 我喜欢访问action ChangeProfile=>重定向到用户站点中的登录页面(如果不登录) 当我访问action UserManager=>时,重定向到admin站点中的adminl
[Authorize(Roles="Admins")]
public ActionResult UserManager(User model)
{
// my code
}
我喜欢访问action ChangeProfile=>重定向到用户站点中的登录页面(如果不登录)
当我访问action UserManager=>时,重定向到admin站点中的adminlogin页面(如果不是使用Admins角色登录)
请帮我看看我能做什么,非常感谢 使用自定义
authorizedRequest
并覆盖HandleUnauthorizedRequest
public class CustomAuthorize: AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.Request.IsAuthenticated)
base.HandleUnauthorizedRequest(filterContext);
else
filterContext.Result = new RedirectToRouteResult(new
RouteValueDictionary("Admin login route"));
}
}
[CustomAuthorize(Roles="Admins")]
public ActionResult UserManager(User model)
{
// my code
}
如果web.config文件中有类似的内容:
<forms loginUrl="~/Account/LogOn" timeout="2880" />
将其更改为此,但我不确定是否有效,但您可以尝试:
<forms loginUrl="/Account/LogOn" timeout="2880" />
还有一件事,当我使用用户角色成功登录时,在我访问管理区域后,它不会重定向到管理登录页面,而是重定向到用户站点中的登录页面,请帮助我修复它,谢谢。。