eureka 使用security登录之后再次登录为什么不需要再输入账号密码了?我想每次登录都需要账号密码
时间: 2023-12-28 14:06:25 浏览: 30
默认情况下,Eureka使用了Spring Security框架进行身份验证和授权。在用户登录时,Spring Security会将用户的凭据存储在Session中,以便在后续请求中进行验证。如果您想要每次登录都需要输入账号密码,可以修改Spring Security的配置,使其在每次请求时都进行身份验证。具体做法是在Security配置类中添加以下配置:
```
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
```
其中,`.anyRequest().authenticated()`会要求在每个请求之前进行身份验证,而`.formLogin()`会启用基于表单的身份验证。您还可以将Session策略设置为“always”,以确保在每次请求时都创建新的Session,从而强制要求用户重新输入他们的凭据。
相关问题
本地搭建只有一个eureka 访问的时候怎么增加账号密码?
如果你只有一个 Eureka 服务注册中心,你可以通过在 Eureka 服务端配置文件中添加以下属性来设置账号密码:
```yaml
security:
basic:
enabled: true
user:
name: username
password: password
```
其中,`username` 和 `password` 分别为你要设置的用户名和密码。
如果你需要添加多个用户,可以按照以下格式添加多个用户:
```yaml
security:
basic:
enabled: true
user:
name1: password1
name2: password2
```
其中,`name1` 和 `name2` 分别为不同的用户名,`password1` 和 `password2` 分别为对应的密码。
配置完成后,访问 Eureka 服务注册中心时,需要在 URL 中添加用户名和密码,例如:
```
http://username:password@eureka-server:8761/eureka/
```
这样就可以通过用户名和密码访问 Eureka 服务注册中心了。
eureka设置账号密码
Eureka 是一个Netflix公司开源的服务注册和发现组件,它默认不提供账号密码验证功能。如果你想要为 Eureka 添加账号密码验证,请参考以下步骤:
1. 在 Eureka 服务的配置文件中添加以下配置:
```yaml
spring:
security:
user:
name: your-username
password: your-password
```
这里的 `your-username` 和 `your-password` 分别是你想要设置的账号和密码。
2. 在 Eureka 服务启动时开启 Spring Security,可以在启动类上添加 `@EnableWebSecurity` 注解。
3. 在 Eureka 服务的控制器上添加 `@EnableGlobalMethodSecurity(prePostEnabled = true)` 注解。
4. 在 Eureka 服务的控制器上添加 `@PreAuthorize("hasRole('USER')")` 注解,以确保只有经过验证的用户才能访问 Eureka 服务。
5. 重新启动 Eureka 服务,你应该能够使用你设置的账号和密码来访问 Eureka 服务了。
以上是简单的配置账号密码验证的步骤,你可以根据需要进行更加详细的配置。