您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
怎么在.net MVC中使用Session验证用户登录?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1.添加DefaultController控制器,重写OnActionExecuting方法,每次访问控制器前触发
public class DefaultController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
var controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
var userName = Session["UserName"] as String;
if (String.IsNullOrEmpty(userName))
{
//重定向至登录页面
filterContext.Result = RedirectToAction("Index", "Login", new { url = Request.RawUrl});
return;
}
}
}2.登录控制器
public class LoginController : Controller
{
// GET: Login
public ActionResult Index(string ReturnUrl)
{
if (Session["UserName"] != null)
{
return RedirectToAction("Index", "Home");
}
ViewBag.Url = ReturnUrl;
return View();
}
[HttpPost]
public ActionResult Index(string name, string password, string returnUrl)
{
/*
添加验证用户名密码代码
*/
Session["UserName"] = name;
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
// POST: /Account/LogOff
[HttpPost]
public ActionResult LogOff()
{
Session["UserName"] = null;
return RedirectToAction("Index", "Home");
}
}3.需要验证的控制器继承DefaultController
public class HomeController : DefaultController
{
public ActionResult Index()
{
return View();
}
}看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。