Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring 3.2安全性-使用非唯一用户名和其他信息登录_Java_Spring_Spring Security - Fatal编程技术网

Java Spring 3.2安全性-使用非唯一用户名和其他信息登录

Java Spring 3.2安全性-使用非唯一用户名和其他信息登录,java,spring,spring-security,Java,Spring,Spring Security,标题试图解释该场景: 此客户具有登录功能,允许用户使用相同的名称但位于不同的位置(商店) 在登录页面,用户通知用户名、密码和所需的存储 使用SpringSecurity(与JPA一起)我创建了一个UserDetailsService实现,但是这个接口总是会收到一个用户名(并且商店必须与其他用户不同) 在这种情况下,我有两个问题: 如何将附加字段通知spring security?(存储) 如何使用此信息实现UserDetails服务? 这可能吗?我一直在做一些研究,但解决方案还不清楚。 谢谢你们

标题试图解释该场景:

此客户具有登录功能,允许用户使用相同的名称但位于不同的位置(商店)

在登录页面,用户通知用户名、密码和所需的存储

使用SpringSecurity(与JPA一起)我创建了一个UserDetailsService实现,但是这个接口总是会收到一个用户名(并且商店必须与其他用户不同)

在这种情况下,我有两个问题:

  • 如何将附加字段通知spring security?(存储)

  • 如何使用此信息实现UserDetails服务?

  • 这可能吗?我一直在做一些研究,但解决方案还不清楚。
    谢谢你们,你们是最好的,我不太清楚你们的问题。您是否有多个门店的唯一登录?然后,您不需要将存储区提供给您的
    userdetails服务
    实现。我只需使用其
    用户名
    加载用户信息,如果用户未获得所有门店的授权,您可以使用
    授权权限
    定义用户的授权位置,例如
    角色门店ID1
    角色门店ID2
    ,等等

    如果您有多个用户不共享的存储,那么您可以简单地创建一个可配置的自定义实现
    UserDetailsService
    ,为每个存储实例化一个,并根据用户访问的存储使用正确的实例


    我希望这会有所帮助。

    我的意思是,可以存在两个同名但适用于不同商店的用户。因此,在登录页面上,用户必须通知关联商店与其他商店中具有相同名称的其他用户不同。这就是为什么我需要存储(附加字段)来搜索数据库,如果我没有,查询可能会返回多个注册表,而不是一个注册表。如何获取UserDetailsService?capiche上的门店信息?别指望我再帮你了。对不起,我不是有意侮辱你的。这只是我们在工作中经常使用的一个表达。真的很抱歉。你解决问题了吗?