2016-03-04 32 views
1

我们一有Spring MVC的REST API和登录控制器。移动(科尔多瓦/角)和web应用(角) -访问限制 - Spring MVC的,春天的安全

这是通过多个客户端被消耗。

我们必须分配给特定类型的用户,即RoleA可以RoleB管理用户角色(春季安全)。

目前我们的移动应用,我们只支持人们RoleB

有没有一种最佳实践方式来限制人在RoleA登录到移动应用程序,同时仍然保持其在webapp上的当前访问级别?

事我已经考虑:

  • 不知何故检测登录请求,截距的源极和与新的security.xml可能限制。
  • 有一个单独的登录方法。
  • 做一些客户端的事情。

TIA。

回答

1

我有一个类似的问题时,我想用就(用基于无会话CSRF与纯粹的基本身份验证的cookie),以验证机制为JavaScript单页的应用程序不同的安全设置和移动应用。

我发现了一些技术通过自举其通过一些网址模式选择不同的安全CONFIGS分裂的安全配置。我可以通过别名@RequestMapping重新使用我的控制器。也许这种设置可以帮助你:

Multiple Spring Security configurations for REST via BasicAuth vs. Session with CSRF

对于我来说,安装并没有把工作进行到底,因为它不容许有真正独立的孤岛(在一条链获得一个会话,也可以使用在另一条链上)。但是,如果你只是想限制基于URL的访问,这可以为你工作。有关详细信息,请参阅春季安全文档:

http://docs.spring.io/spring-security/site/docs/4.0.4.RELEASE/reference/html/jc.html#multiple-httpsecurity

请直接注意antMatcherhttp对象确定链 - 这是不是其在.authorizeRequests()定义的角色通常的设置。

+0

非常感谢ajaegle - 我会看看,让你知道。 – Hurricane