介绍
- 用户认证:在进行用户登陆的时候输入用户名和密码查询数据库,看输入的账户和密码是否正确
- 用户授权:登陆了系统,登陆用户可能是不同的角色,比如说现在登陆的角色是管理员,则具有管理员的权限
spring security就是一组过滤器,对请求的路径进行过滤:
- 如果是基于session,那么spring security会对cookie里的sessionid进行解析,找到服务器存储的session信息,然后判断当前用户是否如何请求的要求
- 如果是基于token,则解析出token,然后将当前请求加入到spring-security管理的权限信息中去
认证与授权的实现思路:
如果系统的模块众多,每个模块都需要进行授权和认证,所以我们选择基于token的形式进行授权和认证,用户根据用户名和密码授权成功,然后获取当前用户角色的一系列权限值,并以用户名为key,权限列表为value的形式存到redis中,根据用户名相关信息生成token返回到前端,浏览器将token存到cookie中,之后每次发送请求在header中都带上token,spring-security解析header头获取token信息,拿到用户名,根据用户名获取redis中对应的value权限,这样spring-security就知道该用户是否有权限访问了。
整合spring-security
目录结构
持续化部署Docker+Jenkins
1. 准备代码,提交到码云Git库
代码中需要包含以下几部分内容:
(1)代码中需要包含Dockerfile文件
文件内容:
FROM openjdk:8-jdk-alpineVOLUME /tmpCOPY ./target/demojenkins.jar demojenkins.jarENTRYPOINT ["java","-jar","/demojenkins.jar", "&"]
(2)在项目pom文件中指定打包类型,包含build部分内容