系列2-springCloud微服务-Security安全认证模块

1.坑1:
安全认证类一定要设置在程序启动类的子包下面
springCloud的Security认证组件有两种添加方式。一种是通过编写公共的安全认证组件进行添加,另外一种是通过application.yml配置文件添加配置。
第一种、创建安全认证组件模块
步骤1:修改安全认证模块pom文件,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
步骤2:创建安全认证类,创建安全认证类时请注意: 类要放在所有后台服务启动类所在包的子包下
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Resource
public void configGlobal(AuthenticationManagerBuilder auth)
throws Exception {
auth.inMemoryAuthentication().withUser("java").password("hello")
.roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
// 表示所有的访问都必须进行认证处理后才可以正常进行
http.httpBasic().and().authorizeRequests().anyRequest()
.fullyAuthenticated();
// 所有的Rest服务一定要设置为无状态,以提升操作性能
http.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
}
步骤3:在父pom中添加该组件的引用,
<dependency>
<groupId>com.ultrapower</groupId>
<artifactId>springCloud-security</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
步骤4:在各服务端的pom文件中添加对此组件的引用:
<dependency>
<groupId>com.ultrapower</groupId>
<artifactId>springCloud-security</artifactId>
</dependency>
步骤5: 如果后台服务端的启动类不在刚刚所建的安全配置类的父包或是同级路径下,需要修改服务的启动类路径。
步骤6:启动验证。可通过在路径上添加上用户密码在浏览器上访问,但是在程序中不可以如此操作。程序中的调用,见Ribbon实现或者Feign组件实现文章中。

第二种、通过配置文件添加安全认证。
上面写的是为所有的微服务添加安全认证。此处为Eureka注册中心通过配置文件添加安全认证。
步骤1:修改Eureka注册中心的pom文件。添加对Security安全认证模块的引用
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-security</artifactId>
</dependency>
步骤2:修改Eureka注册中心的application.yml配置文件,添加对安全认证功能的开启
security:
basic:
enabled: true #开启安全认证服务
user: #添加认证账户及密码
name: ejava
password: ehello
步骤3:启动Eureka注册中心,按照之前的访问地址访问,看是否出现提示输入账号密码的界面,输入账号密码后,是否可以正常登录。
步骤4:修改服务端注册地址为
eureka:
client:
serviceUrl:
defaultZone: http://ejava:ehello@127.0.0.1:8000/eureka/
defaultZone: http://ejava:ehello@127.0.0.1:8000/eureka/,在原地址中添加了“ejava:ehello@”这部分内容。是进行安全人中的校验,此时服务端可以进行Eureka的注册认证。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值