Security(项目)

Security中的接口
UserDetailsService:查询数据库用户名和密码的过程
创建
自定义逻辑时, 实现UserDetailsService接口 写查数据库中的账号密码的过程

PasswordEncoder: 密码加密的接口
用户返回User对象里面的密码加密

Web权限的三种设置用户名和密码的方式

  1. 通过配置文件(application.yml)
spring:
 security:
  user:
	name: admin
	password: admin
  1. 通过配置类

    继承 WebSecurityConfiggurerAdapter
    重写 configure
    使用auth .inMemoryAuthenticcation().withUser().password().roles();
    加密密码 new BcryptPasswordEncoder

  2. 自定义编写实现类
    创建配置类, 设置使用哪个UserDetailsService实现类
    编写实现类, 返回User对象, User对象有用户名密码和操作权限

    1. 在SecurityConfig 中注入 UserDetailsService. //创建配置类
    2. 实现UserDetailsService 接口
    3. 重写LoadUserByUsername();
    4. 返回UserDetails 接口.

注解的使用
//开启Security的注解功能
@EnableGlobalMethodSecurity(securityEnabled=true)

判断是否具有某个角色,另外需要注意 这里匹配的字符串需要添加前缀"ROLE_"
@Secured
在方法执行之前做权限验证
@PreAuthorize (“hasAnyAutho****”)
在方法执行之后做权限验证
@PostAuthorize (“hasAnyAutho****”)
数据过滤注解
PostFilter 方法返回数据进行过滤
PreFilter 入参数据进行过滤

CSRF (跨站请求伪造)
默认开启

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值