Spring安全性:添加一个支持IP身份validation的新ROLE
我是Spring Security的新用户。
我之前配置了Spring Security来为我的Web应用程序执行基于表单的身份validation。
我已经使用Annotations来指示哪些控制器/方法需要ROLE_USER与匿名,并实现了我自己的daoAuthenticationProvider来执行身份validation。
我现在正在实现REST服务,需要在BasicAuthentication上进行身份validation+对我的数据库进行IPvalidation。
所以我在REST服务控制器上定义了一个新角色ROLE_IP_AUTH。
在这一点上我只是有点不知所措。 有人能给我一个简短的描述我应该采取的下一步措施吗?
- 我是否需要为新角色创建新的元素?
- 我应该切换到这个FilterChainProxy吗? 如果是,我应该包括哪些filter?
- 我应该在现有的daoAuthenticationProvider类中处理这个问题吗?
基本上我只需要知道我要进入的方向。我想我已经足够了解到达目的地,只有5种不同的方式可以在Spring看到它。
附加信息我当前的实现具有如下配置元素:
我剩下的问题是如何实现自己的IPvalidation。 我可以使用自定义filter添加BasicAuthfilter并实现我自己的基本身份validationfilter来检查IP。 但我对如何使该filter仅适用于我的REST服务使用的ROLE_IP_AUTH模糊不清?
@Ritesh的答案非常有助于以不同的方式重新构建这个任务。 另一个解决这个问题的好post在这里:
Spring安全性 – 如何提及基于表单和基本身份validation
最终我的理解是:通过@Ritesh在3.0.x中建议的选民来做,或者使用3.1.0.RC1(17mar2011版本)中现有的多个
您只需将http-basic添加到元素即可。
另外,添加create-session =“never”会导致您不为REST服务添加会话。 毛你的服务到一个特殊的url模式将帮助。