请问大神们,Spring Security怎么实现普通用户登录?
管理员表与普通用户是不同的表,表结构也不相同。登录页面与登录后的页面也不同,请问应该怎么弄呀?
百度了好多方案,没有太详细的,最后也没有成功。项目是前后端分离的。请大神们指教一下,最好详细一点或者有详细的教程链接或开源项目可以参考。谢谢啦!
请问大神们,Spring Security怎么实现普通用户登录?
管理员表与普通用户是不同的表,表结构也不相同。登录页面与登录后的页面也不同,请问应该怎么弄呀?
百度了好多方案,没有太详细的,最后也没有成功。项目是前后端分离的。请大神们指教一下,最好详细一点或者有详细的教程链接或开源项目可以参考。谢谢啦!
4 回答944 阅读✓ 已解决
4 回答1.1k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答679 阅读✓ 已解决
2 回答1.6k 阅读
2 回答1.6k 阅读
2 回答1.2k 阅读
最近正好有在看,但这个不是一两句话能说完的,基本的步骤就是:
UsernamePasswordAuthenticationToken
,这个主要是是登录时组装数据用,而且为下方的provider
提供support
依据DaoAuthenticationProvider
,这个是最主要的的,里面的authenticate
方法就是验证方法,你可以自定义它,也可以只指定用哪个UserDetailsService
,就会自动从不同的表中获取数据了。UserDetailsService
,这个就是主要调用loadUserByUsername
从不同表取数据UserDetails
,对应前后端不同表token
过滤器什么的配置。WebSecurityConfigurerAdapter
中的配置,将上方的provider
配置进去,然后是不要用formLogin()
了,这样就不会走UsernamePasswordAuthenticationFilter
,你就可以随便在一个接口中直接通过authenticationManager.authenticate()
方法来进行登录,这样就能区分前后端不同的入口了。这里有个比较详细的参考: