Spring安全登录和注册
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring安全登录和注册相关的知识,希望对你有一定的参考价值。
我希望邮递员登录我的网络应用程序是安全的。在网页浏览器中,我可以写我的登录名和密码,但是当我想在端点下点击例如/ login时,如何通过邮递员登录?我应该创建休息控制器来处理这种情况,或者可能是自动处理这种情况的方式?在url中发送用户名和密码是一个好主意/ login?username = admin&password = admin或更好的身体?下面是我的安全配置:
security config.Java
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private MyUserDetailsService userDetailsService;
@Autowired
private UserRepository userRepository;
@Override
protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(authenticationProvider());
}
@Bean
public DaoAuthenticationProvider authenticationProvider() {
DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
authProvider.setUserDetailsService(userDetailsService);
authProvider.setPasswordEncoder(encoder());
return authProvider;
}
@Bean
public PasswordEncoder encoder() {
return new BCryptPasswordEncoder(11);
}
@Override
protected UserDetailsService userDetailsService() {
return userDetailsService;
}
@Bean
public SimpleSocialUserDetailsService simpleSocialUserDetailsService() {
return new SimpleSocialUserDetailsService(userRepository);
}
@Override
protected void configure(final HttpSecurity http) throws Exception {
http
.csrf().disable()
.headers().frameOptions().disable()
.and()
.authorizeRequests()
.antMatchers("/login*", "/success*").anonymous()
.antMatchers("/auth/**", "/signup/**", "/css/*", "/webjars/**","/js/*","/image/*").permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login")
.successForwardUrl("/tasks")
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/logout-success").permitAll()
.and()
.apply(new SpringSocialConfigurer());
}
}
答案
你使用什么类型的安全性?您可以将Postman配置为在“授权”选项卡中发送凭据(下面的示例使用“基本身份验证”):
以上是关于Spring安全登录和注册的主要内容,如果未能解决你的问题,请参考以下文章
配置 Spring Web 安全登录后给我无效的用户名和密码错误
Spring Cloud微服务安全实战_3-4_API安全机制之认证