在单点登录的探索中。用到一个知识点:过滤器(filter)。常见的几种验证:Authorization filters,验证用户是否有权限訪问页面;Action Filter,验证用户登录的时候是否用户信息存在;异常处理,比方session过期后能够返回登录页面等等。

一、Filter包括什么?

filter主要分为四种,遍布于MVC,从页面请求到授权。到訪问资源的各个阶段。

Authorization filters:用于处理验证处理相关的操作

Action filters:在Controller中Action处理的開始和结束做拦截操作

Result filters:在View呈现前和呈现后做处理

Exception filters:仅仅要是加入了Exception Filter的请求中出现异常,都会被拦截。

以下是filter在MVC中的作用顺序:

二、Filter的小demo

子系统登录权限前,须要经过filter过滤。看能否查到本地的cookie值进行验证。例如以下是filter中代码:

  public class MemberValidationAttribute:AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
//读取用户登录权限和信息
var memberValidation = filterContext.HttpContext.Request.Cookies.Get("selfUserInfo");
//假设为空。就跳转到登录页;假设不为空。就返回一開始请求的页面
if (memberValidation == null)
{
filterContext.Result=new RedirectToRouteResult(new RouteValueDictionary
(new {controller="Account",aciton="LogOn"
}));
return;
}
return; } }

子系统仅仅须要在ActionResult上面打一个[MemberValidation]就可以在登录的时候訪问filter。

        [MemberValidation]

        public ActionResult ChangePassword()
{
return View();
}

三、感受

一个知识仅仅有给别人讲出来。并且讲懂了,才是真正的学会了。

不要把全部的事情想的那么难,去做就好了。

【SSO】--单点登录之过滤器(filter)的更多相关文章

  1. cas sso单点登录系列1_cas-client Filter源码解码(转)

    转:http://blog.csdn.net/ae6623/article/details/8841801?utm_source=tuicool&utm_medium=referral /* ...

  2. CAS实现SSO单点登录原理

    1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...

  3. CAS实现SSO单点登录原理(转)

    1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...

  4. SpringCloud系列——SSO 单点登录

    前言 作为分布式项目,单点登录是必不可少的,文本基于之前的的博客(猛戳:SpringCloud系列——Zuul 动态路由,SpringBoot系列——Redis)记录Zuul配合Redis实现一个简单 ...

  5. 转 CAS实现SSO单点登录原理

    原文链接   http://m.blog.csdn.net/hxpjava1/article/details/74019017 CAS 简介 1. 1.1.  What is CAS ? CAS (  ...

  6. SSO 单点登录简单流程(cas)

    配置服务端(链接数据库) 第一步: 下载cas-server端,解压开, 将中的解压开,将该包中的内容放入cas文件夹(新建文件夹)中 然后将这个文件夹放入到服务端的服务器(tomcat)中 将解压开 ...

  7. 一篇文章彻底弄懂CAS实现SSO单点登录原理

    1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web ...

  8. SSO单点登录学习总结(3)—— 基于CAS实现单点登录实例

    第一: 本demo在一个机器上实现(三个虚拟主机),来看SSO单点登录实例(我们可以布到多个机器上使用都是同一个道理的),一个服务器主机,和两个客户端虚拟主机 [html] view plaincop ...

  9. 【SpringSecurityOAuth2】源码分析@EnableOAuth2Sso在Spring Security OAuth2 SSO单点登录场景下的作用

    目录 一.从Spring Security OAuth2官方文档了解@EnableOAuth2Sso作用 二.源码分析@EnableOAuth2Sso作用 @EnableOAuth2Client OA ...

  10. 006. SSO 单点登录(同域SSO/跨域SSO)

    SSO 单点登录:一次登录,处处登录. 只需在一个登录认证服务下进行登录后,就可访问所有相互信任的应用 同域 SSO 1. session-cookie机制:服务端通过cookie认证客户端. 用户第 ...

随机推荐

  1. 强大的云存储与应用管理工具DzzOffice1.0 Beta(大桌子办公)发布下载

    之前在9月份我们发布了一份内测版,得到了1000多位朋友参与下载测试.经过2个月,结合测试后朋友们反馈的问题,和开发建议.终于完成了这次Beta版的开发.感谢这两个月中参与测试,和帮助我们完善程序的朋 ...

  2. [分享] IMX6嵌入式开发板linux QT挂载U盘及TF卡

    本文转自迅为开发板:http://www.topeetboard.com 开发平台:iMX6开发板 linux QT 系统下挂载 u 盘如下图所示,qt 启动之后,在超级终端中使用命令“mknod / ...

  3. 如何选安卓android|linux系统开发板,简化学习难度,缩短开发进程

    平台一:iTOP-4412精英版 系统支持:Android 4.0.3系统  / Android 4.4系统 / Linux + Qt系统 / Ubuntu12.04系统 开发板特点:Cortex-A ...

  4. linux 配置Java、Mysql、Tomcat、Redis开发环境

    1.安装四个依赖 以下四个依赖必须按顺序联网安装:yum install glibc.i686yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so ...

  5. CAD使用GetxDataDouble读数据(com接口)

    主要用到函数说明: MxDrawEntity::GetxDataDouble2 读取一个Double扩展数据,详细说明如下: 参数 说明 [in] LONG lItem 该值所在位置 [out, re ...

  6. python根据日期返回星期

    import  time #定义:timedate为时间戳def  formattime(timedate,s="%Y-%m-%d %H:%M:%S"):      return  ...

  7. idea开启/关闭单词拼写检查

  8. vue中滚动页面,改变样式&&导航栏滚动时,样式透明度修改

    vue中滚动页面,改变样式&&导航栏滚动时,样式透明度修改.vue <div class="commonHeader" v-bind:class=" ...

  9. Android图像处理之BitMap(2)

    Bitmap 相关 1. Bitmap比较特别 因为其不可创建 而只能借助于BitmapFactory 而根据图像来源又可分以下几种情况: * png图片 如:R.drawable.tianjin J ...

  10. 大项目之网上书城(六)——个人页面和书页面Demo

    目录 大项目之网上书城(六)--个人页面和书页面Demo 主要改动 1.user.jsp 代码 效果图 user.js 代码 3.shu.jsp 代码 效果图 4.其他小改动 LoginServlet ...