添加子域以进行Spring安全身份验证

时间:2015-09-09 05:53:07

标签: java spring spring-mvc spring-security subdomain

我正在尝试构建一个云解决方案,它将在子域上表现为完全不同的应用程序。我现在面临的问题是在注册和登录期间处理这些子域。我们使用spring form登录进行登录。注册的每个用户都应被视为仅针对该特定子域的用户,并且不应允许他从另一个子域登录。所有子域都是动态创建的子域。

例如,名称为“shrek”且在“ogre.mydomain.com”中拥有帐户的用户不应该被允许从“human.mydomain.com”登录,直到并且除非从“human.mydomain”注册。 com“具有相同的名称或不同的名称。

我尝试了什么

我尝试将子域与用户关联,并通过在登录期间将子域附加到用户名来验证用户。

这种方法的问题是,每当我在控制器中询问主体时,我都会将域作为用户名的一部分。

我只是想知道是否有更好的方法来做到这一点。

1 个答案:

答案 0 :(得分:1)

您应该做的不是在用户名中使用子域,而是应该为每个子域创建一个角色。

当用户在名为ogre.mydomain.com的{​​{1}}中注册时,该用户将自动获得名为shrek的角色,并具有以下春季安全限制。

ROLE_OGRE_USER

阅读此SO post