【发布时间】:2011-07-15 16:09:18
【问题描述】:
我是 Spring Security 的新用户。
我之前将 Spring Security 配置为为我的 Web 应用程序执行基于表单的身份验证。
我使用注释来指示哪些控制器/方法需要 ROLE_USER 和匿名,并实现了我自己的 daoAuthenticationProvider 来执行身份验证。
我现在正在实施 REST 服务,这些服务需要在 BasicAuthentication 上进行身份验证 + 对我的数据库进行 IP 验证。
所以我在 REST 服务控制器上定义了一个新角色 ROLE_IP_AUTH。
此时我有点不知所措。有人可以简要说明我应该采取的下一步措施吗?
- 我需要创建一个新的
新的
元素 角色? - 我应该切换到这个 过滤链代理?如果是这样,什么过滤器 我应该包括吗?
- 我应该在现有的 daoAuthenticationProvider 类中处理这个问题吗?
基本上我只需要知道我要去的方向。我想我知道的足够多,似乎只有 5 种不同的方式可以到达春天的任何地方。
其他信息 我当前的实现具有如下配置的元素:
<security:http auto-config="false"
entry-point-ref="authenticationEntryPoint" >
<security:logout logout-url="/logout" />
<security:anonymous enabled="false"/>
<security:custom-filter position="FORM_LOGIN_FILTER" ref="usernamePasswordAuthenticationFilter" />
<security:custom-filter position="ANONYMOUS_FILTER" ref="anonymousAuthFilter" />
</security:http>
我剩下的问题是如何实现自己的 IP 验证。我可以使用自定义过滤器添加 BasicAuth 过滤器并实现我自己的基本身份验证过滤器来检查 IP。但我不清楚如何使该过滤器仅适用于我的 REST 服务使用的 ROLE_IP_AUTH?
【问题讨论】:
标签: java spring-security