我正在使用Sping Boot Security来帮助我进行身份验证...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
@Configuration
@EnableWebSecurity
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.cors().and().csrf().disable().authorizeRequests()
.anyRequest().authenticated().and().httpBasic();
}
}
我有一个休息服务,使登录(在我的控制器),这是一个职位的要求,我发送电子邮件和密码,我喜欢使用这个服务,使身份验证...
但我是spring-boot / java的新手。。有谁能帮我走这条正确的路吗?
谢谢
3条答案
按热度按时间abithluo1#
您需要允许访问登录端点(至少)。例如:
如果我是你,我也会删除
@EnableWebSecurity
(让Sping Boot 来完成它的工作)。然后在登录端点中,您需要设置安全上下文,例如如果用户不能通过身份验证,
authService
应该抛出BadCredentialsException
。以下是我在博客中使用过的示例应用程序:https://github.com/dsyer/mustache-sample/blob/7be8459173d0b65b6d44d05f86e581d358ea9b2e/src/main/java/com/example/DemoApplication.java#L177nsc4cvqm2#
在www.example.com中修改add方法SpringSecurityConfig.java,如下所示
创建CustomAuthenticationProvider。
创建自定义UserService
1cosmwyk3#
WebSecurityConfigurerAdaptor现在已弃用。
使用Spring Security 6和Sping Boot 3,我实现了如下基本身份验证:
MyAuthenticationEntryPoint如下所示: