项目代码 会不定期更新,之后会拆成 前段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是一个监控软件,能够监控到程序及各种应用的资源使用情况。
WebGate交流学习文档,功能介绍,还有实例,非常不错!
WebGate用户手册,详细描述了WebGate的具体使用操作步骤。
webgate安装配置手册,简单的教程,比较适合初学者
WebGate安装及其应用服务器的配置。
WebGate是对基于J2EE架构的关键业务系统进行实时监控和性能管理的APM(Application Performance Management)解决方案,以实现应用程序性能管理和故障管理的规范化和系统化
WebGate 是为了提高正在开发或者已经开发完成的、基于 J2EE(Java2 Enterprise Edition)和J2SE(Java2 Standard Edition)架构的应用程序的性能而进行性能监控和管理,通过其优秀的性能诊断、实时监控、故障告警等功能...
WebGate 是为了提高正在开发或者已经开发完成的、基于 J2EE(Java2 Enterprise Edition)和J2SE(Java2 Standard Edition)架构的应用程序的性能而进行性能监控和管理,通过其优秀的性能诊断、实时监控、故障告警等功能...
WebGate 是一种将常用内容聚合到一个位置的 Web 应用程序。 它是用 Java/XML/XSLT 编写的,可用于基于 Web 的电子邮件、完整的电视网格、RSS/RDF 提要阅读器、集成搜索(字典、谷歌、imdb)等。
博文链接:https://luohc.iteye.com/blog/145652
:satellite_antenna: WEBGATE:自动代理服务器 :satellite_antenna: API网关,代理服务器,负载均衡器,虚拟域,ACME HTTPS证书 :spouting_whale:
Oracle数据库操作常见错误及解决方案.doc
Table of Contents 1. 部署前准备 2. 安装Identity Server 3. 安装WebPass 4. 配置Identity System 5. 安装Policy Manager 6. 安装Access Server 7. 安装Webgate Appendix. 常用命令和配置说明
松弛机器人 ...[jira] Loading tickets from https://webgate.ec.europa.eu/CITnet/jira [jira] Got 83 tickets [jira] Checking last MULTISITE-15513 notification time : 07/02/2017 12:58:20 [jira] Ch
全新的Web API服务webgate提供了基于配置的热插拔AI能力特性,只需要通过补充或编辑配置,插入配置两部操作即可完成AI能力的上线或下线,免去了以往的定制开发工作,业务人员可以把更多的利益注入到AI能力协议的设计...
netscanner-slave netscanner-slave 是我几年前为个人项目编写的分布式多线程网络扫描仪。 它作为一个 cli 程序工作,它能够: 对给定的 CIDR 进行随叫随到的网络扫描 ... 看看webgate。[ch] 依赖关系 詹森 libcidr
glibc-2.12-1.212.el6.i686.rpm资源包,liunx 64位缺少ld-linux.so的安装包
:satellite_antenna: WEBGATE:自动代理服务器 :satellite_antenna:API网关,代理服务器,负载均衡器,虚拟域,ACME HTTPS证书 :spouting_whale: