场景

ASP.NET中MVC编程模式简介与搭建HelloWorld项目:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106795640

在上面使用MVC搭建起来Hello World项目时为了避免太多程序代码造成混淆。在新建MVC项目时将默认的验证调整为无身份验证。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

新建完项目后建立新的文件夹Filters,然后在此文件夹下添加类AuthorizePlusAttribute

此类要继承AuthorizeAttribute,并重写方法OnAuthorization

注意要添加命名空间

using System.Web.Mvc;

AuthorizePlusAttribute类代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;namespace MVCSessionTest.Filters
{public class AuthorizePlusAttribute : AuthorizeAttribute{public override void OnAuthorization(AuthorizationContext filterContext){if (Convert.ToBoolean(filterContext.HttpContext.Session["auth"])){//验证通过}else{//验证失败直接丟回 401base.HandleUnauthorizedRequest(filterContext);}}}
}

然后在HomeController中添加三个Action,分别模拟登录、注销和后台

        public ActionResult Login(){Session["auth"] = true;return RedirectToAction("Index");}public ActionResult Logout(){Session["auth"] = false;return RedirectToAction("Index");}[AuthorizePlus]public ActionResult Backend(){return Content("您已进入后台");}

注意要使用AuthorizePlus注解需要添加命名空间

using System.Web.Mvc;

然后在index.cshtml中添加三个链接

    <p><a class="btn btn-default" href="@Url.Action("Backend")">后台 &raquo;</a></p><p><a class="btn btn-default" href="@Url.Action("Login")">登录 &raquo;</a></p><p><a class="btn btn-default" href="@Url.Action("Logout")">注销 &raquo;</a></p>

运行项目

如果未登录直接进入后台或者注销之后再次进入后台则会

只有在点击登录之后才能进入后台

示例代码下载

https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/12584653

ASP.NET的MVC中使用Session做身份验证(附代码下载)相关推荐

  1. ASP.NET的MVC中使用Cookie做身份验证(附代码下载)

    场景 ASP.NET的MVC中使用Session做身份验证(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1071 ...

  2. Winform中实现自定义屏保效果(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建form ...

  3. Winform中实现文件批量更名器(附代码下载)

    场景 对一个文件夹中的文件进行某种格式的重命名 比如下面文件夹内的文件 程序运行效果 点击文件-打开,打开此文件夹后然后Ctrl+a全选此文件夹所有文件,点击打开 然后在序号设置中可以选择预设模板和起 ...

  4. [导入]Asp.net 2.0 实现自定义Email格式有效性验证(示例代码下载)

    文章来源:http://blog.csdn.net/ChengKing/archive/2006/12/21/1452160.aspx

  5. Winform中实现监控CPU内存使用率(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个窗体 ...

  6. [MVC]Asp.net MVC中的Session

    [MVC]Asp.net MVC中的Session 2008年12月9日 分类: ASP.NET, ASP.NET MVC, C#, 开发笔记 最近使用ASP.NET MVC 中的Controller ...

  7. 007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】

    索引: 目录索引 Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Ch ...

  8. ASP.NET Core MVC 中的 [Controller] 和 [NonController]

    Controller VS NonController 中内置的约定 在 ASP.NET Core MVC 中已经统一了 MVC 和 Web Api 及 Web Pages, 他们具有相同的 Cont ...

  9. 如何在 Asp.Net Core MVC 中处理 null 值

    译文链接:https://www.infoworld.com/article/3434624/how-to-handle-null-values-in-aspnet-core-mvc.html 传统的 ...

最新文章

  1. 实现EditText输入金额(小数点后两位)
  2. 开发一次、多端覆盖的开源统一框架
  3. IOC的理解,整合AOP,解耦对Service层和Dal层的依赖
  4. MySQL中查询时间最大的一条记录
  5. Redis.conf常见配置介绍
  6. Windows I/O模型、同步/异步、阻塞/非阻塞
  7. Ajax — 第六天
  8. PCI总线原理(二)
  9. 不实用额外变量 交换_变量交换:巧用异或运算
  10. 51单片机dds信号发生器 扫频 c语言,基于AT89C51单片机和DDS器件实现频率特征测试仪的设计...
  11. php password_hash和password_verify
  12. git之提交本地代码到远端指定仓库
  13. gitlab查看word文档_gitlab迁移
  14. python批量检测域名和url能否打开
  15. java后台生成内嵌logo的二维码图片以及添加文字
  16. R实战 | Nomogram(诺莫图/列线图)及其Calibration校准曲线绘制
  17. 0宽字符隐藏文本加密及原理
  18. PHP-简单的留言薄功能
  19. 使用无序列表ul实现多级菜单
  20. 第一代GCN: Spectral Networks and Locally Connected Networks on Graphs

热门文章

  1. MySQL show binlog events命令查看binlog日志内容
  2. 前端获取div里面的标签_web前端教程JavaScript学习笔记DOM
  3. 倍数应用题后面需要带单位吗_数学应用题解答思路解析(附例题)
  4. php浏览器头部获取,如何获取PHP以显示从浏览器收到的标头?
  5. kaggle房价预测特征意思_Kaggle实战-波士顿房价预测
  6. input 不显示边框_不需要使用JavaScript
  7. 无法启动程序 计算机丢失QT,Win7系统打开程序提示计算机中丢失qt5core.dll如何解决...
  8. android adb 传文件大小,使用adb在电脑和手机间传文件
  9. 子元素是字典列表转成字典
  10. mask属性是css3的吗_CSS3 mask 遮罩的具体使用方法