如果用户输入一个 URL,那么我的应用程序检查用户会话是否过期以及用户是否登录,如果会话过期或用户未登录,那么我的应用程序将重定向到“登录”-控制器的“索引”-方法。(我每个控制器中有 4 个控制器和 8-9 个动作方法,请建议我一个方便/简单的方法来做到这一点)我该怎么做?
问问题
1762 次
2 回答
1
使用Authorize
需要用户登录的操作的属性。
例子:
[Authorize]
public ActionResult DoSomething()
{
//code here...
}
未经授权的用户将被重定向到您在 Web.config 中设置的登录页面。
于 2013-10-01T12:02:15.343 回答
0
尝试这个
//user not logged in
if (Session["User"] == null)
{
FormsAuthentication.SignOut();
//send the user to login page with return URL
filterContext.Result =
new RedirectToRouteResult(new System.Web.Routing.RouteValueDictionary {{ "controller", "Login" },
{ "action", "Index" },
{ "returnUrl", filterContext.HttpContext.Request.RawUrl } });
return;
}
此代码将在您的重定向 URL 中添加您的最后访问 url,因此您可以在登录后返回同一页面。
于 2013-10-01T12:02:43.907 回答