浅谈MVC Form认证
发表于:2025-12-05 作者:千家信息网编辑
千家信息网最后更新 2025年12月05日,简单的谈一下MVC的Form认证。在做MVC项目时,用户登录认证需要选用Form认证时,我们该怎么做呢?下面我们来简单给大家说一下。首先说一下步骤1、用户登录时,如果校验用户名密码通过后,需要调用Fo
千家信息网最后更新 2025年12月05日浅谈MVC Form认证
简单的谈一下MVC的Form认证。
在做MVC项目时,用户登录认证需要选用Form认证时,我们该怎么做呢?下面我们来简单给大家说一下。
首先说一下步骤
1、用户登录时,如果校验用户名密码通过后,需要调用FormsAuthentication.SetAuthCookie()这个方法。
2、用户退出时,需要调用FormsAuthentication.SignOut();方法
3、在配置文件web.config中,system.web 节点下, 配置
4、校验:HttpContext.User.Identity.IsAuthenticated,如果是false,则没有通过认证,如果是true,则通过了认证
以上这三部,即可完成用户登录的Form认证了。
好了,下面我们来看一下具体的代码。(View中的代码就不贴了,只贴Controller中的代码吧)
1、建立一个用于用户登录用的Model
1 public class LoginViewModel2 {3 [DisplayName("用户名")]4 public string UserName { get; set; }5 [DisplayName("密码")]6 public string Password { get; set; }7 }2、建立登录用的Controller与页面,其中Controller里面有登录与退出两个Action
1 public class LoginController : Controller 2 { 3 // GET: Login 4 public ActionResult Index(LoginViewModel loginViewModel) 5 { 6 if (loginViewModel.UserName == "admin" && loginViewModel.Password == "123456") 7 { 8 FormsAuthentication.SetAuthCookie(loginViewModel.UserName, false); 9 return RedirectToAction("Index", "Main");10 }11 return View();12 }13 14 //GET: LogOut15 public ActionResult LogOut()16 {17 FormsAuthentication.SignOut();18 return RedirectToAction("Index", "Login");19 }20 }3、建立一个登录后,用户跳转的页面与Controller
1 public class MainController : BaseController2 {3 // GET: Main4 public ActionResult Index()5 {6 return View();7 }8 }4、登陆后跳转的页面的Controller是继承的BaseController,那么BaseController是怎么写的呢?
1 public class BaseController : Controller 2 { 3 protected override void OnActionExecuting(ActionExecutingContext filterContext) 4 { 5 base.OnActionExecuting(filterContext); 6 //登录认证处理 7 if (!filterContext.HttpContext.User.Identity.IsAuthenticated) 8 { 9 //未登录10 Response.Redirect("~/Login/Index");11 }12 else13 {14 //已登录,Action级权限控制处理15 var controllerName = filterContext.RouteData.Values["controller"].ToString();//控制器名称16 var actionName = filterContext.RouteData.Values["action"].ToString(); //Action名称17 //根据controllerName与actionName进行权限检查18 /*19 if()20 { }21 else22 { }23 */24 }25 }26 }这个BaseController很简单,大体的作用就是,方式继承这个BaseController的控制器,当执行其下面的Action时,会进行Form校验,如果校验成功,则……,如果校验不成功则……,
登陆后的页面的Controller都会继承BaseController,这样,就不用在每个Controller中的Action重复的写Form认证的代码了。
登录
认证
用户
代码
页面
控制
成功
名称
密码
控制器
方法
权限
用户名
处理
登陆
配置
不用
两个
作用
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库报表的定义
服务器 数据恢复
洛阳有哪些软件开发
抚顺新零售软件开发多少钱
计算机网络技术对电脑的要求
游戏直播需要哪些服务器
景德镇服务器
数据库封装类什么意思
河源饭堂智慧餐饮软件开发
互联网行业属于高科技产业吗
网络安全的英语作文范文100词
信选网络技术
硬盘和cpu能装到服务器吗
棋类软件开发哪家好
腾讯云数据库的好处
数钥网络技术有限公司
数据库中连接种类有哪些
糗事百科数据库
山东pdu服务器专用电源售价
广讯通如何连接到服务器
电脑管家测速服务器在哪里
闵行区技术软件开发管理系统
禅道 数据库管理
宣威gpu云服务器生产厂家
demo数据库用的什么语言
泸定服务器在哪个位置
工作站服务器的区别
利用数据库巡察问题
糗事百科数据库
用友g6连接不了数据库