我正在使用 spring security 3.1.4,但遇到以下问题。在一个网络应用程序中,我有两种类型的用户,它们具有不同的自定义“UserDetails”实例。如何在 UserDetailsService.loadUserByUsername 的实现中区分用户。我可以有 2 个 UserDetailsServiceImpl 并知道何时使用每一个吗?
最佳答案
好吧,我建议你实现composite UserDetailsService
并对两个数据库一一执行loadUserByUsername
。从逻辑上讲,第一个使用的UserDetailsServiceImpl
应该是针对普通用户
,一旦出现典型情况,管理员用户
的数量> 肯定少了。
但是从设计上来说它看起来很糟糕。最好为管理员提供单独的隐藏应用程序,并消除简单用户可能猜测管理员帐户时的一个小漏洞。
关于java - 具有不同类型 session 的 Spring Security,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22895553/