.net MVC使用Session验证用户登录(4)
程序员文章站
2022-06-29 19:46:57
用最简单的session方式记录用户登录状态
1.添加defaultcontroller控制器,重写onactionexecuting方法,每次访问控制器前触发...
用最简单的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(); } }
这种方式适合比较小的项目
优点:简单,易开发
缺点:无法记录登录状态,而且session方式容易丢失
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
[Asp.Net MVC4]验证用户登录实现实例
-
.net MVC使用IPrincipal进行Form登录即权限验证(3)
-
.net MVC使用Session验证用户登录(转载)
-
ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板
-
Asp.Mvc 2.0用户登录实例讲解---(4)服务器端验证
-
.net MVC使用Session验证用户登录(4)
-
从零开始实现asp.net MVC4框架网站的用户登录以及权限验证模块 详细教程
-
Asp.net mvc验证用户登录之Forms实现详解
-
[Asp.Net MVC4]验证用户登录实现实例
-
.net MVC使用IPrincipal进行Form登录即权限验证(3)