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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 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的一个资源服务器。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
存储 算法 数据挖掘
服务器数据恢复—昆腾存储StorNext文件系统数据恢复案例
服务器数据恢复环境: 昆腾某型号存储,8个存放数据的存储柜+1个存放元数据的存储柜。 元数据存储:8组RAID1阵列+1组RAID10阵列+4个全局热备硬盘。 数据存储:32组RAID5阵列,划分2个存储系统。 服务器故障: 数据存储的1个存储系统中的一组RAID5阵列中有2块硬盘先后出现故障离线,导致该RAID5阵列失效,整个存储系统崩溃不可用。
服务器数据恢复—昆腾存储StorNext文件系统数据恢复案例
|
21天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
1天前
|
存储 运维 Oracle
服务器数据恢复—MSA2000存储raid5阵列瘫痪导致lun不可用的数据恢复案例
服务器存储数据恢复环境: 某品牌MSA2000存储,该存储中有一组由8块SAS硬盘(其中有一块热备盘)组建的RAID5阵列,raid5阵列上层划分了6个lun,均分配给HP-Unix小型机使用,主要数据为oracle数据库和OA服务端。 服务器存储故障: 该MSA2000存储RAID5阵列中2块硬盘出现故障离线,阵列中只有一块热备盘,虽然热备盘成功激活,RAID5阵列瘫痪,上层LUN无法使用,存储不可用。
服务器数据恢复—MSA2000存储raid5阵列瘫痪导致lun不可用的数据恢复案例
|
6天前
|
存储 关系型数据库 数据库
服务器数据恢复—ESXi无法识别原数据存储和VMFS文件系统的数据恢复案例
一台某品牌服务器,通过FreeNAS来做iSCSI,然后使用两台同品牌服务器做ESXi虚拟化系统。 FreeNAS层为UFS2文件系统,使用整个存储建一个稀疏模式的文件,挂载到ESXi虚拟化系统。ESXi虚拟化系统中有3台比较重要的虚拟机,这几台虚拟机情况如下: 1、windows server操作系统,运行门户网站,采用ASP.net+PHP混合构架,部署的SqlServer和mysql数据库 。 2、FreeBSD操作系统,运行Mysql数据库,供其他多台虚拟机使用。 3、windows server系统,存放新开发的程序代码。
|
14天前
|
存储 数据挖掘
服务器数据恢复—raid5阵列+xfs文件系统数据恢复案例
服务器数据恢复环境: EMC某型号存储,该存储内有一组由12块磁盘组建的raid5阵列,划分了两个lun。 服务器故障: 管理员为服务器重装操作系统后,发现服务器的磁盘分区发生改变,原来的sdc3分区丢失。由于该分区存放了公司重要业务信息,急需恢复里面的数据。
服务器数据恢复—raid5阵列+xfs文件系统数据恢复案例
|
15天前
|
存储 Oracle 关系型数据库
服务器数据恢复—RAID5上层SAP+oracle数据恢复案例
**服务器存储数据恢复环境:** 某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。 **服务器存储故障&分析:** 该RAID5阵列中一块硬盘出现故障离线,热备盘自动激活替换故障硬盘,热备盘同步数据的过程中该raid5阵列中又有一块硬盘出现故障,RAID5阵列瘫痪,上层LUN无法正常访问。 因为本案例中存储控制器的磁盘检查策略严格,一旦某些磁盘性能不稳定,该型号存储控制器就将该块磁盘识别为坏盘,并将该块磁盘踢出RAID。一旦RAID中掉线的盘数到超过RAID级别允许掉盘的最大数量,该RAID将不可用,
服务器数据恢复—RAID5上层SAP+oracle数据恢复案例
|
20天前
|
存储 Oracle 数据挖掘
服务器数据恢复—raid5多块磁盘离线导致阵列崩溃的数据恢复案例
服务器数据恢复环境&故障情况: 某企业光纤存储上有一组由16块硬盘组建的raid5阵列。管理员发现该光纤存储上的卷无法挂载,经过检查发现raid5阵列中有2块硬盘离线,于是联系我们数据恢复中心要求数据恢复工程师到现场恢复服务器存储上的数据。
|
23天前
|
存储 运维 安全
服务器数据恢复—Eq PS6100系列存储raid5中硬盘坏道离线的数据恢复案例
某品牌EqualLogic PS6100系列存储阵列是一款容错功能较强的存储设备,具有较高的安全性能。一些硬件故障或者误操作也会破坏该系列存储内的数据,下面分享一个北亚企安数据恢复工程师接到的一个关于EQ PS6100存储的数据恢复案例。 一台EqualLogic PS6100存储阵列中有一组由20块硬盘组建的raid5磁盘阵列。
服务器数据恢复—Eq PS6100系列存储raid5中硬盘坏道离线的数据恢复案例
|
1月前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
25天前
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。