具有两个表的身份验证

8ehkhllq  于 2021-07-15  发布在  Java
关注(0)|答案(0)|浏览(173)

我使用springsecurity,并将我的教师登录名和教师密码存储在表中 teachers .
当我使用just时:

@Configuration
@EnableAutoConfiguration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Autowired
DataSource dataSource;

@Autowired
public void configAuthentication(AuthenticationManagerBuilder auth) throws Exception {
    auth.jdbcAuthentication().dataSource(dataSource)

            .usersByUsernameQuery("select teacher_login,teacher_password, enabled from teachers where teacher_login=?")
            .authoritiesByUsernameQuery("select teacher_login, teacher_role from teachers where teacher_login=?")

}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().antMatchers("/", "/home").permitAll().antMatchers("/admin").hasRole("TEACHER")
            .anyRequest().authenticated().and().formLogin().loginPage("/login").permitAll().and().logout()
            .permitAll();
    http.exceptionHandling().accessDeniedPage("/403");
}
}

现在一切正常了。
但是
在我的项目中,不仅有教师,还有学生,为了存储数据-登录名,学生密码和登录名,教师密码,我使用了两个表- teachers 以及 students .
当人们登录时,我应该如何检查学生,而不仅仅是教师?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题