- 博客(5)
- 收藏
- 关注
原创 spring security 5 (8)-密码加密BCryptPasswordEncoder
从spring security5开始,要求必须手动配置密码加密方式,spring官方推荐使用BCrypt加密,并明确指出sha和md5都是不安全的。本篇仅介绍BCrypt的用法。BCrypt加密与验证 BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); String result = encoder.en...
2019-03-31 11:54:54 7362
原创 spring security 5 (7)-异常处理
spring security主要有两大异常,登录时认证失败异常401,及请求时没有权限异常403。AuthenticationException(401)登录不成功,如密码错误等可抛出BadCredentialsException,它是AuthenticationException的子类。 if (!code.equals("123")) { ...
2019-03-24 09:33:35 5434
原创 spring security 5 (6)-认证过滤器
上一篇实现了自定义认证,但是要想彻底自定义整个认证流程,还差一个环节,即认证过滤器,它是认证的入口。本篇仍然以验证码为例,介绍自定义认证过滤器。自定义Authentication第4篇讲过,自定义过滤器的主要作用就是生成未认证Authentication,作为入参给AuthenticationManager认证。而在第5篇,根据AuthenticationProvider的support...
2019-03-17 08:34:04 3128
原创 spring security 5 (5)-自定义认证
第3篇讲过,用户登录时,系统会读取用户的UserDetails对其认证,认证过程是由系统自动完成的,主要是检查用户密码。而在现实中,登录方式并不一定是检查密码,也可能是验证码或其他,此时就需要自定义认证。AuthenticationProvider自定义认证逻辑在AuthenticationProvider的authenticate方法中完成,第4篇讲过,认证的入参是一个未认证Authen...
2019-03-10 09:49:44 5634 1
原创 spring security 5 (4)-认证流程
本篇介绍登录时的认证流程,及其相关的重要概念接口等,现在只需要有一个基本概念,以后将以此为基础介绍自定义配置,到时结合本篇会更加清晰。SecurityContext用户登录时,会将用户相关信息组装成一个Authentication对象,而SecurityContext的主要作用就是保存Authentication。并且 SecurityContext会通过session来维持状态,所以登录...
2019-03-02 16:00:26 2381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人