當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringSecurity加密认证
生活随笔
收集整理的這篇文章主要介紹了
SpringSecurity加密认证
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
加密認證
在IOC容器中提供加密對象
<!--加密對象--> <bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/> <!--設置Spring Security認證用戶信息的來源--><security:authentication-manager><security:authentication-provider user-service-ref="userServiceImpl"><!--指定認證使用的加密對象--><security:password-encoder ref="passwordEncoder"/></security:authentication-provider> </security:authentication-manager>修改認證方法
去掉{noop},該方法可以讓我們的密碼不加密
@Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {SysUser sysUser = userDao.findByName(username);if(sysUser==null){//若用戶名不對,直接返回null,表示認證失敗。return null;}List<SimpleGrantedAuthority> authorities = new ArrayList<>();List<SysRole> roles = sysUser.getRoles();for (SysRole role : roles) {authorities.add(new SimpleGrantedAuthority(role.getRoleName()));}//最終需要返回一個SpringSecurity的UserDetails對象,{noop}表示不加密認證。return new User(sysUser.getUsername(), sysUser.getPassword(), authorities); }修改添加用戶的操作
@Service @Transactional public class UserServiceImpl implements UserService {@Autowiredprivate UserDao userDao;@Autowiredprivate RoleService roleService;@Autowiredprivate BCryptPasswordEncoder passwordEncoder;@Overridepublic void save(SysUser user) {//對密碼進行加密,然后再入庫user.setPassword(passwordEncoder.encode(user.getPassword()));userDao.save(user);} }手動將數據庫中用戶密碼改為加密后的密文
總結
以上是生活随笔為你收集整理的SpringSecurity加密认证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringSecurity集中式整合之
- 下一篇: 初识ES-IK分词器的拓展和停用词典