案例之认证服务security配置|学习笔记

简介: 快速学习案例之认证服务security配置

开发者学堂课程【Spring Security知识精讲与实战演示(四)案例之认证服务security配置】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/733/detail/13085


案例之认证服务security配置

 

内容介绍:

一、认证服务介绍

二、配置security

三、总结


一、认证服务介绍

在认证服务中将认证相关的代码已经写完,但是现在这个代码并不能起作用,因为现在UserServicelmpl并不知道这里有代码,所以需要在server的文件里边指定一个page类,命名如下:

image.png

二、配置security

要继承WebSecurityConfigurerAdapter这一个类,在这里边将几个方法进行重写,按顺序来写,这里边就一定会用到定义的业务逻辑,所以在这里边写上一个UserService但实际一开始并不能识别这个UserService,因为UserService已经继承了UserDetailsService,这里边还可以这么写,其实现在这么写UserService也没有错,效果是一模一样,没有区别,在这个里面可以加上一个Autowired,还需要一个加密的一个方式,所以在这里要加上一个Bean,在这里边写上一个Public,使用BGryptPasswordEncoder,写完这个里面的内容就要重写方法,在这里要重写两个方法,首先第一个方法要指定当前的认证信息,这个方法是在这个地方,如图所示:

image.png

把这个方法复制到刚才的文件中,把图中的protected改成public,把this这一行改成auth.userDetailsService(userService),这样就指定好了userService,这里只是指定了一个认证的业务逻辑方法,接下来需要指定一个password的加密方式,依旧是在里面写上一个passwordEncoder,使用它内置的一个passwordEncode,因为这个方法是重写的,可以在上边加上一个Override,这个不是必须的。除了重写它,还需要重写另外一个,就是指定这个的一个自我管理的一个规则,那一个是http,内容如图所示:

image.png

把中间这段删掉不要了,只要一个盒子,那么这个也是重写的,也可以加上那个Override,那么在这里面使用http,首先要在这里写上一个authorizeRequests作为一个开始,现在并没有在项目中配置任何自定义的页面,正常来说要有一个自己的认证页面,不要用系统本身的,当然也可以总写自己的项目,比如上面并没有自己的认证页面,但是重写处理器了,自己的的项目不接收报表单,文件里边接收的是自己的请求,这都是可以的,那这里就不再去做任何认证方面的一些过多的说明,直接使用它默认的认证,那一套机制就可以了,在这里边配置一个.anyRequest,任何的请求都必须认证通过,才能访问authenticated,这个配完之后可以写一个.and,就证明这个一个新的配置的开始,再来一个.formlogin,这个的意思是要去控制formlogin,这里还需要对.loginProcessingUrl进行一个指定,虽然这个不是自己写的,但是要指定,指定他主要是为了指定.permitALL,就是可以匿名访问,如果不指定这一句,那将无法访问这个页面。那这里做的一个简单的配置就配完了,做的是全部都是原生的配置,只是放了一个login这么一个路径,主要是强调,这里是有两段配置,如果是想让它建成一个OAuth2的一个认证服务,必须要新增一段这个而且要重写一个方法,方法的名字要写对:

image.png

image.png

总的代码如下:

@Configuration@EnableWebSecurity

Public class WebSecurityConfig extends

extendsWebSecurityConfigurerAdapter  {

@Autowired

private UserService userService;

@Bean

public BCryptPasswordEncoder passwordEncoder(){

return new BCryptPasswordEncoder() ;

 

三、总结

其实这个对象不是所有的模式都要用,这里边有四种模式,这个主要是在条码模式用,当然这个授权码模式是最重要的一个模式,这个配置千万不要忽略,如果这个配置忽略了,后续将无法使用授权码模式,到此sercurity这配置完成了。

相关文章
|
安全 Java 关系型数据库
案例之认证服务搭建|学习笔记
快速学习案例之认证服务搭建
案例之认证服务搭建|学习笔记
|
JSON 安全 Java
分布式整合之认证服务配置文件编写和测试|学习笔记
快速学习分布式整合之认证服务配置文件编写和测试
分布式整合之认证服务配置文件编写和测试|学习笔记
|
4月前
|
数据采集 安全 容灾
《阿里云产品手册2022-2023 版》——号码认证服务
《阿里云产品手册2022-2023 版》——号码认证服务
|
移动开发 API 开发工具
秒懂云通信:如何使用阿里云号码认证服务(小白指南)
手把手教你如何使用阿里云号码认证服务,超详细控制台步骤解析,快速上手!
3013 0
秒懂云通信:如何使用阿里云号码认证服务(小白指南)
|
安全 数据安全/隐私保护 开发者
阿里云通信发布全新号码认证服务, 重新定义手机号码认证的方式
12月12日,阿里云通信宣布号码认证服务正式商用,将重新定义手机号码认证的方式。因移动应用实名制的政策要求,手机号码认证在移动APP的注册、登录等场景用的越来越多。而对于开发者来说,能完成手机号码认证的选择并不多,一般是借助短信、语音的基础通信通道,自己实现短信验证码或语音验证码来实现。
25062 0
|
7月前
|
存储 安全 Java
Security认证流程源码分析
Security认证流程源码分析
|
7月前
|
安全 Java API
第5章 Spring Security 的高级认证技术(2024 最新版)(上)
第5章 Spring Security 的高级认证技术(2024 最新版)
113 0
|
7月前
|
安全 Java UED
第5章 Spring Security 的高级认证技术(2024 最新版)(下)
第5章 Spring Security 的高级认证技术(2024 最新版)
65 0