spring security
文章平均质量分 86
huan_1993
这个作者很懒,什么都没留下…
展开
-
Spring Security Resource Server的使用
一、背景在前一节我们学习了 Spring Authorization Server的使用,此处我们简单的记录下 Spring 资源服务器的使用。二、需求资源服务器提供2个资源 ,userInfo 和 hello。userInfo:资源是受保护的资源,需要user.userInfo权限才可以访问。hello:资源是公开资源,不要权限即可访问。三、分析1、如何验证资源服务器中访问的令牌是有效的?此处只考虑JWT的令牌。令牌是授权服务器颁发的,且进行了签名操作,因此资源服务器对令牌的验证,就原创 2021-07-17 21:53:48 · 2557 阅读 · 11 评论 -
Spring Authorization Server的使用
一、背景在 Spring Security 5中,现在已经不提供了 授权服务器 的配置,但是 授权服务器 在我们平时的开发过程中用的还是比较多的。不过 Spring 官方提供了一个 由Spring官方主导,社区驱动的授权服务 spring-authorization-server,目前已经到了 0.1.2 的版本,不过该项目还是一个实验性的项目,不可在生产环境中使用,此处来使用项目搭建一个简单的授权服务器。二、前置知识1、了解 oauth2 协议、流程。可以参考阮一峰的这篇文章2、JWT、JWS、J原创 2021-07-16 14:42:34 · 2767 阅读 · 15 评论 -
Spring Security 多过滤链的使用
一、背景在我们实际的开发过程中,有些时候可能存在这么一些情况,某些api 比如: /api/** 这些是给App端使用的,数据的返回都是以JSON的格式返回,且这些API的认证方式都是使用的TOKEN进行认证。而除了 /api/** 这些API之外,都是给网页端使用的,需要使用表单认证,给前端返回的都是某个页面。二、需求1、给客户端使用的api拦截 /api/**所有的请求。/api/**的所有请求都需要ROLE_ADMIN的角色。从请求头中获取 token,只要获取到token的值,就原创 2021-07-14 16:01:04 · 921 阅读 · 2 评论 -
Spring Security Jwt Token 自动刷新
最近项目中有这么一个功能,用户登录系统后,需要给 用户 颁发一个 token ,后续访问系统的请求都需要带上这个 token ,如果请求没有带上这个 token 或者 token 过期了,那么禁止访问系统。如果用户一直访问系统,那么还需要自动延长 token 的过期时间。原创 2020-06-07 17:38:32 · 9478 阅读 · 17 评论 -
spring security中动态更新用户的权限
在程序的执行过程中,有时有这么一种需求,需要动态的更新某些角色的权限或某些人对应的权限,当前在线的用户拥有这个角色或拥有这个权限时,在不退出系统的情况下,需要动态的改变的他所拥有的权限。需求:张三 登录了系统拥有 ROLE_ADMIN,和ROLE_USER 的权限,但是ROLE_ADMIN的权限太强了,不应该给张三,后台管理人员应该可以取消张三的ROLE_ADMIN的权限,那么在张三...原创 2018-02-22 11:13:47 · 9814 阅读 · 8 评论 -
spring security整合QQ登录
最近在了解第三方登录的内容,尝试对接了一下QQ登录,此次记录一下如何实现QQ登录的过程,在这个例子中是和spring secuirty整合的,不整合spring secuirty也是一样的。需求: 整合QQ登录步骤: 1、在QQ互联上注册开发者身份 2、开发者身份审核通过后,创建一个自己的应用,此时需要记录如下三个信息 |- APP...原创 2018-03-03 18:17:35 · 1972 阅读 · 2 评论 -
认识spring security
在一个系统中认证和授权是常有的事情,现在比较流行的框架有spring security、shiro等等。他们都能很好的帮助我们完成认证和授权的功能。那么假如说让我们自己完成一个登录那么应该大致的流程是怎么样的呢?一、我们肯定有一个处理页面上表单提交的url处理器,此处我们放置在Filter中进行处理,假如就叫做UsernamePasswordAuthenticationFilter ...原创 2017-11-01 22:08:45 · 156 阅读 · 0 评论 -
spring security实现简单的url权限拦截
在一个系统中,权限的拦截是很常见的事情,通常情况下我们都是基于url进行拦截。那么在spring security中应该怎么配置呢。大致步骤如下:1、用户登录成功后我们需要拿到用户所拥有的权限,并保存到当前的认证对象中。 |- SecurityUserDetailServiceImpl#loadUserByUsername(String) 在根据用户名获取到用户后,一起...原创 2017-11-04 13:18:33 · 3178 阅读 · 2 评论 -
freemarker自定义指令
最近项目中使用了spring boot搭建项目,使用spring security管理项目中的权限,使用freemarker作为视图层。为了将权限控制到按钮上,因此考虑直接使用spring security的标签实现,但是在整合的过程中,没有整合出来,突然想到freemarker可以自定义指令实现一些功能,因此记录一下,在freemarker中如何实现一个自定义指令,来达到实现部分内容的显示...原创 2017-11-17 23:41:52 · 340 阅读 · 0 评论 -
spring security中ajax超时处理
可能就会面临session超时,ajax去访问后台的操作。或用户ajax匿名去访问一个受限的操作,此时应该如何进行处理。 面对以上可能发生的2中情况,我们可能希望进行统一的处理,将此次ajax请求导向登录界面。1. 当用户session超时后,使用ajax进行访问 可以知道是SessionManagementFilter中的InvalidSessionStrategy进行处理的2. 当用户是匿名用户访问,且session是新建的时候,访问了系统中的受限资源 可以知道是Ex原创 2018-02-08 16:00:15 · 530 阅读 · 0 评论