java Spring安全性JDBC身份验证 Posted 2021-05-07
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Spring安全性JDBC身份验证相关的知识,希望对你有一定的参考价值。
import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
public class SpringSecurityInitializer extends AbstractSecurityWebApplicationInitializer{
}
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.4</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.password.NoOpPasswordEncoder;
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Bean(destroyMethod = "close")
DataSource dataSource() {
HikariConfig dataSourceConfig = new HikariConfig();
dataSourceConfig.setDriverClassName("org.postgresql.Driver");
dataSourceConfig.setJdbcUrl("jdbc:postgresql://localhost:5432/tesztdb");
dataSourceConfig.setUsername("postgres");
dataSourceConfig.setPassword("postgres");
return new HikariDataSource(dataSourceConfig);
}
@Override
public void configure(WebSecurity web) throws Exception {
super.configure(web);
}
@Override
public void configure(AuthenticationManagerBuilder builder) throws Exception {
builder.jdbcAuthentication().passwordEncoder(NoOpPasswordEncoder.getInstance()).dataSource(dataSource()).usersByUsernameQuery(
"select username,password, enabled from users where username=?")
.authoritiesByUsernameQuery(
"select username, role from user_roles where username=?")
.withUser("tina").password("222").roles("ADMIN");
}
@Override
public void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.httpBasic();
}
}
以上是关于java Spring安全性JDBC身份验证的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Java 和 XML 配置在 Spring Security 中配置 jdbc 身份验证管理器?
使用 IAM 身份验证和 Spring JDBC(DataSource 和 JdbcTemplace)访问 AWS RDS
如何使用 xml 配置文件、JAVA、Spring 安全性对 LDAP 用户进行身份验证
Spring - Java EE 用户在身份验证后仍然为空
jdbc spring 安全性,apache commons dbcp
Spring 安全 Java 配置