五分钟带你玩转SpringSecurity(四)配置全解析,Java小程序开发实例

本文深入解析SpringSecurity配置,包括密码加密、用户验证、验证码设置、权限管理等核心环节。通过Java小程序实例,展示如何实现Docker环境下安全配置,覆盖登录、授权、记住我功能及退出清理缓存等全过程。
摘要由CSDN通过智能技术生成

// 明文+随机盐值》加密存储

return new BCryptPasswordEncoder();

}

//用户验证的业务流程 也就是查询用户的业务代码

@Autowired

UserDetailsService customUserDetailsService;

/**

  • 认证管理器: 将上文查询用户是否存在的service按样式写入 修改service 其余写死 还有密码写死或存放内存中等方式 这里不讨论

    1. 认证信息(用户名,密码)
  • @param auth

  • @throws Exception

*/

@Override

protected void configure(AuthenticationManagerBuilder auth) throws Exception {

// 数据库存储的密码必须是加密后的也就是必须要有passwordEncoder,不然会报错:There is no PasswordEncoder mapped for

auth.userDetailsService(customUserDetailsService);

}

//验证码配置

@Autowired

private ImageCodeValidateFilter imageCodeValidateFilter;

//当验证成功后可以返回json或者路径 但是现在基于前后台分离 大多数都是返回json AuthenticationSuccessHandler为成功后转为json的处理 按照本文配置即可

@Autowired

private AuthenticationSuccessHandler customAuthenticationSuccessHandler;

//当验证成功后可以返回json或者路径 但是现在基于前后台分离 大多数都是返回json AuthenticationFailureHandler为失败后转为json的处理 按照本文配置即可

@Autowired

private AuthenticationFailureHandler customAuthenticationFailureHandler;

//建立数据源

@Autowired

DataSource dataSource;

@Autowired

private InvalidSessionStrategy invalidSessionStrategy;

/**

  • 当同个用户session数量超过指定值之后 ,会调用这个实现类

*/

@Autowired

private SessionInformationExpiredStrategy sessionInformationExpiredStrategy;

/**

  • 持久化token

  • @return

*/

@Bean

public JdbcTokenRepositoryImpl jdbcTokenRepository() {

JdbcTokenRepositoryImpl jdbcTokenRepository = new JdbcTokenRepositoryImpl();

jdbcTokenRepository.setDataSource(dataSource

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值