权限系列
小编编写一系列权限博客,从SpringAop+拦截器控制权限,再到shiro+cas,最后还有Shiro+Json Web Token,这几篇系列博客,解决了项目中常用的授权问题,单点登录问题,权限控制问题等等。
周坤_66
代码是一种艺术
展开
-
Json Web Token
Json Web token简介Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519),该token被设计为紧凑且安全的,JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。JWT翻译 2017-07-29 23:35:31 · 1954 阅读 · 18 评论 -
《Shiro+Json Web Token》----用多线程优化登录
前言:在最近这个权限框架中,小编发现登录很慢,因为是框架启动后第一次登录,需要创建很多对象还有打通额外的链接,所以很慢,但是第二次登录就明显的快了。于是打开项目的源码,开始优化起来,在了解完大体的业务逻辑后,感觉能用上多线程,于是就测试了一下,发现挺管用,小编将经验分享给大家吧!使用的技术点SSMShiroJson Web TokenRedis登录的逻辑用户输入用户名和密码发送给后端原创 2017-07-26 21:05:47 · 6192 阅读 · 30 评论 -
《权限系列shiro+cas》----cas登录原理
前言这篇博客小编只是贴了两个cas官网上的两个原图,这两个图对于理解cas的单点登录很有帮助。不使用代理的登录时序图使用代理的登录时序图小结这两张图展示了cas的登录原理,里面用到了很多专业术语,有TGT,ST等等,将cas的登录原理总结成一句话,就是几个cookie和几个session之间的关系。原创 2017-07-09 10:50:01 · 4198 阅读 · 17 评论 -
《权限系列shiro+cas》----修改cas的默认登录页
前言cas的默认登录页相对来说不怎么友好,我们可以自己定做。cas原始登录页面 修改步骤上面的页面就是cas\WEB-INF\view\jsp\default\ui\casLoginView.jsp,修改配置文件CAS所有的界面位置都是在cas.properties(具体位置:cas\WEB-INF\cas.properties)中指定的。我们打开这个文原创 2017-07-01 11:36:57 · 2142 阅读 · 12 评论 -
《权限系列shiro+cas》----Cas服务端的配置
前言小编用的casServer版本是4.0的,在4.0之后cas做了升级,据说变化很大,大家如果有兴趣可以到cas的官网查看。下面的所有操作都时在源码中cas文件夹中操作的。源码地址点击这里,去小编的GitHub上下载源码去掉Https协议小编做的项目是企业内部使用的,如果此项目放到外网上去访问,建议不要去掉https协议。下面是去掉https协议的教程。到weba原创 2017-06-27 23:36:38 · 3308 阅读 · 11 评论 -
《权限系列shiro+cas》----配置各个应用程序
前言shiro-cas-authority已经大体的介绍完毕,现在我们需要在各个应用程序之间来引用它实现权限管理。Cas客户端与服务端的配置cas的客户端在shiro-cas-authority已经配置完成,我们配置cas的服务端时,可以将在源码上下载下来的cas文件夹放在tomcat的webapps目录下,然后启动tomcat,这样cas的服务端就生效了。 源码地原创 2017-06-27 23:35:54 · 3875 阅读 · 11 评论 -
《权限系列shiro+cas》---封装公共验证模块
前言小编最近正在优化权限框架,应对的需求是:在一个分布式系统中,要有单点登录功能,还得有集中的权限认证。于是技术选型就找到了shiro和Cas,shiro是Apache旗下的开源授权框架,而Cas是Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO)。做授权的框架还有Spring Security,置于Spring Se原创 2017-06-27 23:35:24 · 7643 阅读 · 15 评论 -
《权限系列》----用redis存储HashMap
前言废话不多说,直接上代码。spring配置文件中,redis的配置<!-- 配置redis客户端单机版 --><bean id="jedisPool" class="redis.clients.jedis.JedisPool"> <constructor-arg name="host" value="192.168.141.128"></constructor-arg> <c原创 2017-06-27 00:49:41 · 9050 阅读 · 11 评论 -
《权限系列》----用SpringAop控制权限二
前言接着上一篇博客说,下面该贴切面代码了。切面代码public class PermissionAspect {@Resourceprivate CheckAuthorityService checkAuthorityService; public void doBefore(JoinPoint jp) throws IOException{ Method soruceMet原创 2017-06-27 00:40:32 · 966 阅读 · 6 评论 -
《权限系列》----用SpringAop控制权限一
前言在一些公司内部用的局域网项目中,常常用SpringAop来控制权限,这种控制权限的方式实现起来相对简单,原理是自定义一个注解,然后定义一个切面,再加一个拦截器,当我们每次访问后台数据时,用拦截器判断用户是否登录(session是否存在),然后利用SpringAop的前置通知判断用户访是否有权限访问此方法。主要技术SpringMvc+Spring+MyBatis项目源码点击这里,到gith原创 2017-06-26 23:50:34 · 1814 阅读 · 7 评论