我想使用用户名和密码制作具有身份验证功能的登录表单。 这是我的MySQL配置:
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter
...
@Autowired
private DataSource dataSource;
...
@Override
protected void configure(AuthenticationManagerBuilder auth)
throws Exception {
auth.
jdbcAuthentication()
.usersByUsernameQuery(usersQuery)
.authoritiesByUsernameQuery(rolesQuery)
.dataSource(dataSource)
.passwordEncoder(bCryptPasswordEncoder);
}
...
}
现在,我想改为使用Cassandra。如何创建Cassandra数据源?
此外,我不知道spring-security如何验证从登录表单提交的用户名和密码。我应该如何处理POST请求的功能? (例如login()
中的UserController
)
答案 0 :(得分:0)
如果您有这样的事情
@Bean(name = "dataSource")
public DriverManagerDataSource dataSource() {
DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
driverManagerDataSource.setDriverClassName("com.mysql.jdbc.Driver");
driverManagerDataSource.setUrl("jdbc:mysql://localhost:3306/test");
driverManagerDataSource.setUsername("root");
driverManagerDataSource.setPassword("password");
return driverManagerDataSource;
}
然后,您应该将driverClassName更改为org.apache.cassandra.cql.jdbc.CassandraDriver
还有您的网址; jdbc:cassandra://localhost:8988/keyspace