案例之创建资源服务器准备工作|学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习案例之创建资源服务器准备工作

开发者学堂课程【Spring Security知识精讲与实战演示(四)案例之创建资源服务器准备工作】学习笔记与课程紧密联系,让用户快速学习知识

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


案例之创建资源服务器准备工作

 

父工程创建完成,直接开始来创建资源服务。两个服务是没有先后顺序的,先创建哪一个都可以。

先来创建资源服务,在父工程下创建一个子模块,起名是source,可以在前面加一个前缀叫heima,这就是资源。

image.png

这里需要用到的包首先是mvc,相关环境一定要有,需要到Springoauth2boot,start_web寻找一个包。那security_oauth同样也是要,所以这里需要到springboot_start_security中找到包,最重要的一个包,spring-cloud-starter-oauth。这里可能要用到一些数据库相关的操作,要连Myoauth2circle驱动。要指定一个版本,version5.1.47,接下来要用到mybatis相关的包,那到此,资源服务中所用的架包就差不多了。

代码如下:

<?xml version="1.0"oauth2encoding="UTF-8"?>

(projectxmlns="http://maven.apache.org/P0M/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/P0M/4.0.0oauth2http://maven.apache.org/xsd/maven-4.0.0.xsd">oauth2parent>artifactId>springboot_security_oauth</artifactId(groupIdcomitheima</groupId<version>1.0-SNAPSH0T</version</parent>

<mode1Version>4.0.0</modeVersion

<artifactId>heima_oauth_source</artifactId

<dependencies>

<dependency

(groupId>org.springframework.boot</groupId

<artifactIdspring-boot-starter-web</artifactId</dependency><dependency>

(groupId>org.springframework.boot</groupId

(artifactIdoauth2spring-boot-starter-security</artifactId

I<groupId>org.springframework.boot</groupId

(artifactId>spring-boot-starter-security</artifactId</dependency><dependency>

<groupId>org.springframework.cloud</groupId

<artifactId>spring-cloud-starter- </artifactId<version>2.1.0.RELEASE</version</dependency><dependency>

<groupId>mysql</groupId

<artifactId>mysql-connector-java</artifactId<version>5.1.47</version)</dependency><dependency>

<groupId>org.mybatis.spring.boot</groupId

<artifactIdmybatis-spring-boot-starter</artifactId(version>2.1.0</version)</dependency></dependencies></project>

去创建它的配置文件,application.yml。

image.png

因为有多个服务,所以说端口号是要指定的使用9002,数据库里找连接词,springdata,选择mysql驱动包,是url,要注意把springsecurity架包放到刚才用的项目中,所以直接把数据库拿过来,接下来是username这里写root。然后是password写root。之前没有的一个配置main,allow,一定要写上true,进行标注,这个叫允许自己覆盖spring放入到ioc容器的对象。在使用oauth2的时候,也有自己的代码,已经将一些配置放入到ioc容器中,如果再往ioc容器中放,就会出现两个id一模一样的对象。这个时候如果没有这一行配置就会报错,所以要加上。接下来是mybatis相关的配置。写:com.itheima.domain,同样,可以把包先创建出来,新建一个new package,那么接下来是mybatis,最后导入日志,logging,level,这里需要指定一个包,com.itheima.配置文件指定完成。

代码如下:

server:

port:9002spring:

datasource:

driver-class-name:commysql.jdbc.Driverurl:jdbc:mysql:///securityauthority

username:root

password: rootoauth2maoauth2in:

allow-bean-definition-overriding:true#允许自己覆盖spring放入到IOC容器的对象oauth2mybatis:

type-aliases-package:comitheima.domainoauth2configuration:

map-underscore-to-camel-case:oauth2trueoauth2logging:

level:

com.oauth2itheima:oauth2debug

接下来进行配置类,在com.itheima下直接写oauthsourceapplication,首先写Springbootapplication,接下来写mapperscan(com.itheima.mapper),接下来写public, 

packagecomitheima; importorg.mybatis.spring.annotation.MapperScanimportorg.springframework.boot.SpringApplication;importorg.springframeworkboot.autoconfigure.SpringBootApplication;

@SpringBootApplication

@MapperScan("comitheima.mapper")

publicclassOauthSourceApplication{

publicstaticvoidmain(String[]args) {

SpringApplication.run(OauthSourceApplication.class, args):}

最后写一个测试的处理器,写一个controller.ProductController.依然是前后端分离,写RestController,这里并不会真的连接数据库,而是做一条假数据,指定一种方式。这样处理器便编写完成。如下:

importorg.springframework.web.bindannotation.GetMapping;

importorg.springframework.webbindannotation.RequestMapping:

importorg.springframework.webbindannotation.RestController;

ORestController

@RequestMapping("/product")

publicoauth2classoauth2ProductControlleroauth2{

@GetMapping("/findA11")publicoauth2Stringoauth2findAl1(){

returnoauth2"产品列表查询成功!"

I

此时可以启动项目,只不过即便启动项目,也访问不成功,因为已经将springsecurity加入到项目中了,要是用Springboot,直接去访问时,就会导向认证页面,当然现在并没有做任何配置,默认是不能访问,可以做一个请求,这里可以找到是9002,依然用myoauth2workspace,里边是9002,当然token是没有的,可以把它删掉,访问发现是没有登录的一个状态,所以是不能访问,想让他访问,第一就是要登录,第二要作为oauth2的资源端。登录是给用户访问,作为资源端是给其他服务访问。以上就将资源端作为oauth2的一个资源服务器。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
1月前
|
存储 运维 数据挖掘
服务器数据恢复—EqualLogic存储硬盘出现坏道的数据恢复案例
某品牌EqualLogic PS6100存储阵列上有一组由16块硬盘组建的raid5磁盘阵列。磁盘阵列上层划分多个大小不同的卷,存放虚拟机文件。 硬盘出现故障导致存储阵列不可用,需要恢复存储阵列中的数据。
|
1月前
|
存储 运维 Oracle
服务器数据恢复—存储硬盘指示灯亮黄灯,RAID5阵列崩溃的数据恢复案例
服务器存储数据恢复环境: 某单位一台某品牌DS5300存储,1个机头+4个扩展柜,50块的硬盘组建了两组RAID5阵列。一组raid5阵列有27块硬盘,存放Oracle数据库文件。存储系统上层一共划分了11个卷。 服务器存储故障: 存储设备上两个硬盘指示灯亮黄色。其中一组RAID5阵列崩溃,存储不可用,设备已经过保。
|
2月前
|
Unix 应用服务中间件 索引
服务器数据恢复—LUN映射出错导致文件系统共享冲突的数据恢复案例
SUN光纤存储系统中有一组由6个硬盘组建的RAID6,划分为若干LUN,MAP到跑不同业务的服务器上,这些服务器上运行的是SOLARIS操作系统。 服务器不存在物理故障。由于公司业务变化,需要增加一台服务器跑新的应用。服务器管理员在原服务器在线的状态下,将其中一个lun映射到一台新服务器上。实际上,这个刚映射过去的卷已经map到了solaris生产系统上的某个lun上了。映射到新服务器后,服务器对这个卷进行初始化的操作,原solaris系统上的磁盘报错,重启服务器后这个卷已经无法挂载。 服务器管理员寻求sun原厂工程师的帮助。sun工程师检测后执行了fsck操作。执行完成后文件系统挂载成功。查
|
2月前
|
存储 数据挖掘 Linux
服务器数据恢复—重装系统导致OceanStor存储上的分区无法访问的数据恢复案例
服务器存储数据恢复环境: 华为OceanStor某型号存储+扩展盘柜,存储中的硬盘组建了raid5磁盘阵列,上层分配了1个lun。 linux操作系统,划分了两个分区,分区一通过lvm扩容,分区二为xfs文件系统。 服务器存储故障: 工作人员重装系统操作失误导致磁盘分区变化,分区二无法访问,数据丢失。
|
2月前
|
存储 数据挖掘 Windows
服务器数据恢复—RAIDZ上层ZFS文件系统数据恢复案例
一台服务器有32块硬盘,采用Windows操作系统。 服务器在正常运行的时候突然变得不可用。没有异常断电、进水、异常操作、机房不稳定等外部因素。服务器管理员重启服务器,但是服务器无法进入系统。管理员联系北亚企安数据恢复工程师要求恢复服务器数据。
|
3月前
|
存储 算法 数据挖掘
服务器数据恢复—昆腾存储StorNext文件系统数据恢复案例
一台昆腾存储设备中有一组raid5磁盘阵列。阵列上有两块硬盘先后离线,raid5磁盘阵列不可用。
|
2月前
|
存储
服务器数据恢复—服务器断电导致数据丢失的数据恢复案例
某品牌服务器中有12块硬盘,组建了一组raid5磁盘阵列,服务器内存储的是普通文件。 机房供电不稳定导致服务器断电,管理员重启服务器后发现服务器无法正常工作。 根据描述的故障发生过程,北亚企安数据恢复工程师推断故障是意外断电导致raid模块损坏。
|
3月前
|
存储 安全 数据管理
服务器违规资源被删,数据定时备份OSS 云存储才是 “救命稻草”
在数字化时代,数据已成为企业与个人的核心资产。然而,服务器违规、硬件故障等问题频发,导致数据丢失、业务中断,甚至造成不可挽回的损失。为保障数据安全与业务连续性,定时备份至关重要。阿里云国际站OSS提供高效、可靠的云存储解决方案,支持自动定时备份,帮助用户轻松应对数据风险。本文详解OSS备份操作步骤与注意事项,助你为数据穿上“防护甲”,实现安全无忧存储。
|
1月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
217 10
|
1月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。

热门文章

最新文章