浅谈MVC Form认证
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,简单的谈一下MVC的Form认证。在做MVC项目时,用户登录认证需要选用Form认证时,我们该怎么做呢?下面我们来简单给大家说一下。首先说一下步骤1、用户登录时,如果校验用户名密码通过后,需要调用Fo
千家信息网最后更新 2026年10月31日浅谈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安全错误
数据库的锁怎样保障安全
互联网科技产业
互联网是不是新科技
没上市的科技互联网公司
网络科技有限互联网
与互联网科技公司
杭州互联网科技公司
迪茉互联网科技
互联网高科技股票
天扬科技互联网广告
互联网 科技馆
上海电发互联网科技有限公司
温州喔噻互联网科技有限公司
互联网科技教育视频
互联网科技有哪些公司
重庆互联网医院沙龙医盟信息科技
沐思想互联网科技有限公司
互联网金融科技公司的优势
江苏互联网智能科技软件
江苏互联网科技小贷
银川新华互联网科技学校原画
南京欣网互联网络科技
中国互联网科技股
互联网科技战争
广州凡科互联网科技
长亮科技互联网金融
现代科技和互联网有关系吗
陕西云淼互联网科技公司
郑州欣桑互联网科技有限公司
万物互联网智能科技
前海云享互联网科技