在Spring Security中将Cassandra与WebSecurityConfigurerAdapter一起使用

时间:2018-07-24 07:56:47

标签: spring-security cassandra

我想使用用户名和密码制作具有身份验证功能的登录表单。 这是我的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

1 个答案:

答案 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