java向spring安全认证添加子域
我正在尝试构建一个云解决方案,它将在一个子域上表现为一个完全不同的应用程序。我现在面临的问题是在注册和登录期间处理这些子域。我们使用spring表单登录。每个注册的用户都应该被视为该特定子域的用户,不应该允许他从另一个子域登录。所有子域都是动态创建的子域
例如,在“ogre.mydomain.com”中拥有帐户的名为“史瑞克”的用户不应被允许从“human.mydomain.com”登录,除非使用相同或不同的名称从“human.mydomain.com”注册
我尝试过的
我尝试将子域与用户关联,并在登录时通过将子域附加到用户名来验证用户
这种方法的问题是,每次我在控制器中请求委托人时,我都会将域作为用户名的一部分
我只是想知道是否有更好的方法
# 1 楼答案
你应该做的不是在用户名中使用子域,而是为每个子域指定一个角色
当一个用户在名为
ogre.mydomain.com
的shrek
中注册时,该用户将自动获得名为ROLE_OGRE_USER
的角色,并具有以下spring安全限制读这个SO post