Mar*_*tör 17 java security spring spring-security
我们正在构建一个可供经过身份验证的用户和匿名用户使用的Web应用程序.如果您决定不注册/登录,则只有一组有限的功能.使用Spring Security通过OpenID完成用户身份验证.这很好.
但是,该应用程序还附带了部署的管理UI <host>/<context-root>/admin
.我们可以在Spring Security中使用两个独立的领域(例如基本身份验证/admin/**
)吗?如何配置?
gut*_*tch 18
Spring Security在版本3.1中添加了对此场景的支持,该版本目前作为候选版本提供.它由SEC-1171实现,语法的详细信息在3.1中包含的手册中.
但是它使用起来非常简单.基本上,您只需http
在Spring Security配置中定义多个元素,每个领域一个元素.我们这样使用它:
<!-- Configure realm for system administration users -->
<security:http pattern="/admin/**" create-session="stateless">
<security:intercept-url pattern='/**' access='ROLE_ADMIN' requires-channel="https" />
<security:http-basic/>
</security:http>
<!-- Configure realm for standard users -->
<security:http auto-config="true" access-denied-page="/error/noaccess" use-expressions="true" create-session="ifRequired">
<security:form-login login-page="/login"
...
...
</security:http>
Run Code Online (Sandbox Code Playgroud)
需要注意的关键是pattern="/admin/**"
第一个http
元素.这告诉Spring,所有URL /admin
都受该领域而不是默认领域的影响 - 因此URL正在/admin
使用基本身份验证.
归档时间: |
|
查看次数: |
9914 次 |
最近记录: |