(十一)项目集成安全框架
项目集成安全框架
敲代码的翠花
这个作者很懒,什么都没留下…
展开
-
01-自定义认证授权过滤器-SpringSecurity内置认证流程分析
认证过滤器(UsernamePasswordAuthentionFilter)接收form表单提交的账户、密码信息,并封装成UsernamePasswordAuthenticationToken认证凭对象;认证管理器通过密码匹配器PasswordEncoder进行匹配,如果密码一致,则将用户相关的权限信息一并封装到Authentication认证对象中;认证过滤器将Authentication认证过滤器放到认证上下文,方便请求从上下文获取认证信息;原创 2024-01-27 02:39:06 · 339 阅读 · 0 评论 -
02-自定义认证授权过滤器-自定义Security认证过滤器
新建com.itheima.security.filter.MyUsernamePasswordAuthenticationFilter类。原创 2024-01-18 19:48:04 · 594 阅读 · 0 评论 -
03-自定义认证授权过滤器-配置自定义认证过滤器
自定义的认证过滤器要被注册才能被spring使用,在com.itheima.security.config.SecurityConfig文件中配置。原创 2024-01-18 21:13:45 · 472 阅读 · 0 评论 -
04-自定义认证授权过滤器-SpringSecurity集成JWT
SpringSecurity框架中是基于cookie/session技术实现http有状态的,cookie/session技术有占用服务端资源等弊端,这里用JWT来代替。生成token,把用户的用户名和权限信息放置在token中响应给前端,在自定义拦截器MyUsernamePasswordAuthenticationFilter中修改代码。创建com.itheima.security.utils.JwtTokenUtil。原创 2024-01-18 21:58:08 · 416 阅读 · 0 评论 -
05-自定义认证授权过滤器-SpringSecurity基于Jwt实现认证小结
上一小结认证成功后向请求方响应了token信息,那么请求方访问其它系统资源时,就需要带着这个token到后台,后台需要一个授权过滤器获取token信息,并解析用户权限信息,将信息封装到UsernamePasswordAuthentionToken对象存入安全上下文,方便请求时安全过滤处理;原创 2024-01-18 23:54:48 · 406 阅读 · 0 评论 -
06-自定义认证授权过滤器-自定义资源授权过滤器
定义授权过滤器:新建com.itheima.security.filter.AuthenticationFilter。在com.itheima.security.config.SecurityConfig中配置。配置授权过滤器的执行顺序,SecurityConfig中配置。跳到security的内置登录页面。测试一下,携带token。不携带token访问。原创 2024-01-19 01:15:45 · 395 阅读 · 0 评论 -
07-08-自定义认证授权过滤器-自定义权限访问拒绝处理器
可以看到游客和登录用户但是没有权限用户访问返回的都是相同的响应,不便于用户体验,现在针对不同类型的访问,响应不同的内容,给用户相应的提示。新建匿名用户访问拒绝处理器com.itheima.security.handler.MyAuthenticationEntryPoint。itcast用户可以访问/say和/hello接口,itheima用户可以访问/hello,没有权限访问/say。注意用Postwoman测试的时候要禁用缓存,不然会有实际访问的用户变成缓存的用户访问的情况。原创 2024-01-19 02:41:27 · 494 阅读 · 0 评论 -
09-10-自定义认证授权过滤器-自定义认证授权流程小结
自定义认证授权整体流程小结原创 2024-01-19 03:22:19 · 482 阅读 · 0 评论 -
11-项目集成SpringSecurity-自定义认证过滤器核心逻辑
-引入security-->当前项目中认证登录信息的合法性,除了用户名、密码外,还需要校验验证码,所以认证过滤器需要注入redis模板对象:新建@Override//认证方法//MediaType:请求的媒体类型if (!//获取前端ajax传入的数据流并反序列化为HashMap对象= null)?= null)?//调用认证管理器进行认证/*** @param chain 过滤器链。原创 2024-01-19 16:44:53 · 486 阅读 · 0 评论 -
12-项目集成SpringSecurity-自定义用户详情服务Bean
新建com.itheima.stock.security.service.LoginUserDetailService。原创 2024-01-19 18:20:28 · 367 阅读 · 1 评论 -
13-项目集成SpringSecurity-自定义用户详情服务Bean-2
修改com.itheima.stock.security.filter.JwtLoginAuthenticationFilter。为了可以设置更多的属性,新建com.itheima.stock.security.user.LoginUserDetail。新建com.itheima.stock.security.service.LoginUserDetailService。SpringSecurity中的User类只有用户名、密码、权限信息三个用户详情字段。原创 2024-01-19 22:09:32 · 315 阅读 · 0 评论 -
14-项目集成SpringSecurity-定义Security配置类
新建com/itheima/stock/security/config/SecurityConfig.java。启动stock_backend项目。再用postman测试一下,访问。获取验证码和sessionId。原创 2024-01-19 23:52:36 · 344 阅读 · 0 评论 -
15-项目集成SpringSecurity-定义并配置授权过滤器
新建com.itheima.stock.security.filter.JwtAuthorizationFilter。在SecurityConfig类中配置。不携带token测试。原创 2024-01-20 00:37:52 · 388 阅读 · 0 评论 -
16-项目集成SpringSecurity-自定义权限拒绝处理器
新建com.itheima.stock.security.handler.StockAuthenticationEntryPoint。新建com.itheima.stock.security.handler.StockAccessDenyHandler。在SecurityConfig类中配置。原创 2024-01-20 00:59:36 · 366 阅读 · 0 评论 -
17-项目集成SpringSecurity-为接口资源配置权限信息标识
在com.itheima.stock.controller.LogController中配置接口权限。admin用户拥有所有权限,访问测试,authorization请求头添加admin用户的token。test用户数据库中没有sys:log:delete权限标识。原创 2024-01-20 01:35:46 · 315 阅读 · 0 评论