验证登录状态的方法有:1  进程外Session   2 方法过滤器(建一个类继承ActionFilterAttribute)然后给需要验证的方法或控制器加特性标签

3 :新建一个BaseController  继承Controller   把后面需要验证的控制器都改成继承BaseController   而不是Controller

  1. namespace Core.ProjectOA.WebApp.Controllers
  2. {
  3. public class BaseController : Controller
  4. {
  5. //要过滤的控制器可以继承此BaseController
  6. /// <summary>
  7. /// 在控制器执行方法之前执行
  8. /// </summary>
  9. /// <param name="filterContext"></param>
  10. protected override void OnActionExecuted(ActionExecutedContext filterContext)//protected 只能被子类访问
  11. {
  12. base.OnActionExecuted(filterContext);
  13. if (Session["userInfo"] == null)
  14. {
  15. filterContext.Result = Redirect("/Login/Index");//  没有返回值, 所以不是return   是filterContexr.Result
  16. }
  17. }
  18. }
  19. }

之所以是filterContext.Result = Redirect("/Login/Index");   而不是直接跳转  是因为 过滤器是切面 ,请求必须返回一个ActionResult结果   如果这里直接跳转,还是需要一个结果,所以还会执行  Index方法 ,所以此处要返回一个结果  (Redirect 返回的就是一个ActionResult)  就不会继续执行后面的Index方法了

注意:这种方式只能控制get请求新页面  对于异步请求是无法控制的

asp.net MVC 中 Session统一验证的方法的更多相关文章

  1. 本版本延续MVC中的统一验证机制~续的这篇文章,本篇主要是对验证基类的扩展和改善(转)

    本版本延续MVC中的统一验证机制~续的这篇文章,本篇主要是对验证基类的扩展和改善 namespace Web.Mvc.Extensions { #region 验证基类 /// <summary ...

  2. ASP.NET MVC中使用窗体验证出现上下文的模型在数据库创建后发生更改,导致调试失败(一)

    在ASP.NET MVC中使用窗体验证.(首先要明白,验证逻辑是应该加在Model.View和Controller哪一个里面?由于Model的责任就是负责信息访问与商业逻辑验证的,所以我们把验证逻辑加 ...

  3. 转载ASP.NET MVC中Session的处理机制

    本文章转载自 http://www.cnblogs.com/darrenji/p/3951065.html ASP.NET MVC中的Session以及处理方式   最近在ASP.NET MVC项目中 ...

  4. asp.net mvc 中的自定义验证(Custom Validation Attribute)

    前言

  5. ASP.NET MVC中的模型装配 封装方法 非常好用

    下面说一下 我们知道在asp.net mvc中 视图可以绑定一个实体模型 然后我们三层架构中也有一个model模型 但是这两个很多时候却是不一样的对象来的 就拿微软的官方mvc例子来说明 微软的视图实 ...

  6. Asp.net MVC 中超链接的三个方法及比较

    在Asp.net WebForm开发中,我们通过a标签进行跳转时,通常的写法是:<a href="index.aspx">首页</a>, 在Asp.net ...

  7. ASP.NET MVC中的统一化自定义异常处理

    当ASP.NET MVC程序出现了异常,怎么处理更加规范? 1. 最简单的方法是设置<customErrors/>节点 <customErrors>节点用于定义一些自定义错误信 ...

  8. asp.net mvc中的后台验证

    asp.net mvc的验证包含后台验证和前端验证.后台验证主要通过数据注解的形式实现对model中属性的验证,其验证过程发生在model绑定的过程中.前端验证是通过结合jquery.validate ...

  9. 再议ASP.NET MVC中CheckBoxList的验证

    在ASP.NET MVC 4中谈到CheckBoxList,经常是与CheckBoxList的显示以及验证有关.我在"MVC扩展生成CheckBoxList并水平排列"中通过扩展H ...

随机推荐

  1. Python-Analysis-Malware

    Python恶意软件分析应用-PEfile 0x1.前言 要想对恶意代码快速分析,Python是一门必须要掌握的编程技能.因为它是跨平台的,而且容易阅读和编写.许多开源安全工具也是用Python写的. ...

  2. elasticsearch RTF版本介绍

    说明:elastic search官方版本没有集成中文分词以及各种插件,需要手动配置,手动编译jar,对Windows用户很不友好.下载地址:https://github.com/medcl/elas ...

  3. libsvm的使用

    参考:http://www.cnblogs.com/GuoJiaSheng/p/4480497.html http://www.cnblogs.com/tornadomeet/archive/2012 ...

  4. [转]hadoop新手错误解决方法

    解决Exception: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 等一系列问题,lja ...

  5. 使用jstl方式替换服务器请求地址

    <c:set var="ctx" value="${pageContext.request.contextPath}"></c:set>

  6. Java编程的逻辑 (52) - 抽象容器类

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  7. IntelliJ IDEA 设置Output 窗口字体大小

    Settings——>Editor——>Colors&Fonts——>Console Font 如图: 字体调好了以后使用起来眼睛就轻松多了

  8. 说commit,rollback

    事务执行失败后,看做的是commit还是rollback:commit是把执行成功的部分提交了,rollback就是全回滚了.如果rollback失败了,此时不处理,等到客户端断开,MySQL内部默认 ...

  9. maven正确的集成命令-U -B 等

    在持续集成服务器上使用怎样的 mvn 命令集成项目,这个问题乍一看答案很显然,不就是 mvn clean install 么?事实上比较好的集成命令会稍微复杂些,下面是一些总结: 不要忘了clean: ...

  10. Qwidget+opencv显示图像

    步骤 1. 设置opencv库路径 在.pro文件中添加 INCLUDEPATH += D:/opencv/OpencvMingw/opencv310/include LIBS += D:/openc ...