开发者学堂课程【Spring Security知识精讲与实战演示(四):案例之认证服务搭建】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/733/detail/13084
案例之认证服务搭建
内容介绍:
一、课程导入
二、新建Module文件并配置
三、总结
一、课程导入
如下图资源服务中心,图中圈起来的,如果想要客户端访问到这个资源服务,必须由认证服务给它颁发token,且要给它搭建这么一个认证的服务。
二、新建Module文件并配置
1.新建Module文件
新建一个Module,命名方式如下图所示,可以看到是一个server服务:
2.导入下包
接下来就要导入其下包,要用到Spring和之前说的oauth2还有数据库链接,数据库需要标明版本,这里是5.1.47,并且这里导入mybits-spring-boot-starter整合的包,到这里所用的下包就已经完成导入了。
代码如下图所示:
5.1.47
heima_oauth_server
org. springframework.bootspr ing-boot-starter-web
org.spr ingframework.boot
spring-boot-starter-security
< dependency>
org.springframework.cloud
spring-cloud-starter-oauth2
2.1.0.RELEASE
3.编写pom.xml文件
现在编写pom.xml文件,上下使用的包是一样的,在resources里面创立一个pom文件,命名如下:
端口号,server: poot:9001,接下来是数据库的相关信息:
在spring中写一个url:jdbc:mysql///再写入数据库的名称,将自己定义的对象覆盖lvd容器对象,这个需要实现,spring.main,写上true,覆盖lit容器中现有的对象,接下来是mybits的相关信息,首先扫描type-aliases-package包,写上com.itheima.domain,点击这个包可以先创建出来,右键点击创建,创建如图所示:
接下来是模式,configuration,等于true,
代码如下:
server:
port: 9001
spring:
datasource:
driver-class-name:com.mysql.jdbc.Driverur1: jdbc:mysql:///security_authority
username: root
password: root
main:
allow-bean-definition-overriding: true
mybatis:
type-aliases-package: com. itheima. domain
configuration:
map-underscore-to-came1-case: true
logging:
level:
com itheima: debug
pom
文件完成。
4.指定一个提供位
接下来就要指定一个提供位,在com.itheima.dom.main新建一个文件,
要在这个文件中指定一个包,总的代码如图所示:
package com itheima ;
import org.mybatis.spring. annotation. MapperScan;
import org.spr ingframework.boot.Spr ingApplication;
Import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com itheima. mapper")
public class 0authServerApplication {
public static void main(String[] args){
SpringApplication. run(OauthServerApplication. class, args);
}
}
提供位完成操作。
5.把相关的逻辑全部复制到文件中
根据上面的第一张图,用户想要通过A系统访问B系统的一个token,访问B系统的token肯定是在A系统里,用户要得到token,要先认证,要认证所有关于认证的逻辑都是要有的,没有这个认证的逻辑是不行的,就要将之前所有之前认证的相关逻辑全部接过来,拿左边的代码为例:
首先要用到的是两个文件,如下图:
之前建立的server也是要复制到那个文件,复制这两个文件,粘贴到图中所示的文件中:
结果如图所示:
三、总结
认证的相关的业务已经完成,filter是不需要的,可以将controller拿过来做一个测试,在这里只做认证相关的,不做认证处理器的原因是认证处理器不是自己写的,认证处理器是spring处理器帮我们写得,那现在代码部分就完成了。