项目代码 会不定期更新,之后会拆成 前段mvvm ,后端mvc 框架,如果需要持续关注的同学们,请打开链接后,点击 fork

项目地址:https://github.com/Wenhaoran/webgate

在用户登录系统后,生成一个随机数 ticket , 并  根据当前 账户登录信息,以及 当前账户的默认角色信息, 保存到全局 map中。

key = ticket ,value = 账户+角色。

查询当前角色对应的菜单按钮,并 拼接 菜单的 html 时,链接增加后缀 ?ticket =   刚才生成的随机数。

在点击菜单,访问系统时,请求会被拦截, 获取 项目名称(webgate),路径名称(/pages/component/form/index),ticket ,调用 接口,查询 当前 ticket是否存在。如果不存在,跳转登录界面,如果 ticket存在,则会验证,当前ticket 对应的角色,是否有权限,访问 当前项目的 当前路径,如果 没有权限,则 显示 权限不足界面,如果有权限,则显示正常界面。

至于 链接最后的 &pt_rtype=m ,是在 权限不足的时候进行判断,是否过滤此次请求,因为, 过滤器会拦截所有请求, 而 有些请求,是 执行查询语句,并不是请求页面,所以,应该进行选择性的拦截,&pt_rtype=m ,就是进行 选择性拦截控制。

下面粗略说代码实现,如需看具体实现,请去github下载代码:

CommonController login , 接收登录请求的方法,判断用户是否存在,用户名是否正确,生成ticket 的方法,并把当前账户的,角色,等等信息放到session中。

PermissionFilter doFilter ,拦截所有请求,获取 项目名,路径,以及 ticket ,调用接口,判断是否有权限。

RestController 整个controller 所有方法,均为接口方法, 其中 getPermissionsBak 方法,为验证权限的方法。

Service 中的 WebMenuList 类,为,拼接 菜单html类。

webgate单点登录原理相关推荐

  1. cas跨域单点登录原理_CAS实现SSO单点登录原理

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

  2. CAS单点登录原理简单介绍

    1. SSO简介 1.1 单点登录定义 单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统. ...

  3. SSO单点登录原理剖析

    转载于:http://www.cnblogs.com/gxbk629/p/4473569.html CAS实现SSO单点登录原理 1.      CAS 简介 1.1.  What is CAS ? ...

  4. 10.单点登录原理及JWT实现

    单点登录原理及JWT实现 一.单点登录效果   首先我们看通过一个具体的案例来加深对单点登录的理解.案例地址:https://gitee.com/xuxueli0323/xxl-sso?_from=g ...

  5. java单点登录跨域_深入浅出让你理解跨域与SSO单点登录原理与技术

    原标题:深入浅出让你理解跨域与SSO单点登录原理与技术 一:SSO体系结构 SSO SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互 ...

  6. [转]单点登录原理与简单实现

    一.单系统登录机制 1.http无状态协议 web应用采用browser/server架构,http作为通信协议.http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关 ...

  7. cas单点登录原理碎碎念

    2019独角兽企业重金招聘Python工程师标准>>> 也许有一天,你去面试,当面试官问你做cas的经验的时候,你会怎么描述? cas单点登录的原理? 单点登录是分为基于sessio ...

  8. CAS教程-第一篇-CAS单点登录原理解析

    转载自:http ://www.cnblogs.com/lihuidu/p/6495247.html 1,基于饼干的单点登录的回顾 基于Cookie的的单点登录核心原理: 将用户名密码加密之后存于饼干 ...

  9. (SSO)单点登录原理和总结

    一:什么是单点登录(single Sign-On) SSO 是一种统一认证和授权机制,指访问统一服务器不用应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后, 再访问其他应用中 ...

最新文章

  1. 使用CSS隐藏HTML元素的4种常用方法
  2. SilverLight学习笔记--建立Silverlight自定义控件(5)--绑定动画效果
  3. 2003服务器系统屏蔽广告,电脑总是乱弹广告弹窗?教你彻底关闭
  4. linux进程--虚拟地址空间布局(十一)
  5. 基于OpenCL的深度学习工具:AMD MLP及其使用详解
  6. shell的基础学习
  7. python 读取txt文件没读到400行_400行Python代码实现文语处理助手(3) - 音频显示-嵌入式系统-与非网...
  8. mysql根据语句自动实现索引_mysql 语句的索引和优化
  9. 2k2实用球员_2KOL2王朝不知道用谁?五大位置低价实用球员大解析!
  10. 鸿蒙系统下载地址_华为鸿蒙系统下载
  11. 斗鱼直播实时数据爬取
  12. WiFi技术简述与发展
  13. 【服务器数据恢复】服务器raid5磁盘阵列分区丢失的数据恢复案例
  14. try catch promise.reject
  15. linux分析rna-seq,RNA-seq 分析流程(一)linux部分
  16. 软件测试人才培养全景图新版本
  17. linux网卡加vlan标签,如何在 CentOS/RHEL 系统中使用带 VLAN 标记的以太网卡
  18. 没有项目管理经验,怎么报考PMP?
  19. 2021最热门的后端编程语言排行榜出炉!
  20. 计算机电脑Windows系统中了faust勒索病毒,phobos勒索家族介绍,Windows用户注意

热门文章

  1. Google Drive文件共享链接在.sh中使用方法
  2. pdf文件怎么在线编辑?内容编辑途径介绍
  3. 这个618买到假货了怎么办?
  4. 程序员如何缓解压力,保持心理健康
  5. Android实战技巧之四十:Android5.1.1源代码编译与烧写
  6. 信号处理:自相关和互相关
  7. 【全国数据】最新全国POI数据大全下载
  8. uTorrent红种问题(win7)-“错误,拒绝访问”
  9. 记录一下自己的本本,DELL 640M铲掉XP,重装VISTA的过程
  10. 「DaoCloud 道客」郭峰:云原生加速金融信创发展