加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

多个登录表单,不同的身份验证管理员 – 最新的弹簧安全

发布时间:2020-12-14 19:31:55 所属栏目:资源 来源:网络整理
导读:我有一个使用 Spring Security保护的Web应用程序需要两个单独的登录表单.这两个登录表单需要完全独立.我的意思是不同的登录表单,不同的URL路径,能够为每一个都有一个不同的身份验证管理器. 我已经看过google,有一些方法可以做到这一点,但是我已经阅读并看到
我有一个使用 Spring Security保护的Web应用程序需要两个单独的登录表单.这两个登录表单需要完全独立.我的意思是不同的登录表单,不同的URL路径,能够为每一个都有一个不同的身份验证管理器.

我已经看过google,有一些方法可以做到这一点,但是我已经阅读并看到一些变化,最近几周应该可以在最新的快照版本的代码中做到这一点.

首先,由于这个bug完成了SEC-1171,我们现在可以有多个命名空间元素来支持多个过滤器链配置.

其次,正如另外一个bug显示SEC-1847,我们现在可以为每个http标签选择一个自定义的身份验证管理器.

问题是我已经下载,编译和除了我的xsd不允许我为每个http标签创建一个自定义的身份验证管理器,每当我尝试更改登录处理URL或每当我尝试使用记住我每个登录表单的密钥.

我开始做这样的事情:

<!-- Configure realm for administration users -->
<http pattern="/admin/**" auto-config="true" disable-url-rewriting="true" >
    <intercept-url pattern="/admin/**" access="ROLE_ADMIN" />
    <form-login login-page="/adminLogin.htm" default-target-url="/" 
                login-processing-url="/loginProcessing" 
                authentication-failure-url="/adminLogin.htm?error" />
    <logout invalidate-session="true" logout-success-url="/" logout-url="/logout" />
<remember-me key="******" user-service-ref="userDetailsService" />
</http>

<!-- Configure realm for standard users -->
<http auto-config="true" disable-url-rewriting="true">
    <intercept-url pattern="/user/**" access="ROLE_USER" />
    <form-login login-page="/login.htm" default-target-url="/" 
                login-processing-url="/loginProcessing" 
                authentication-failure-url="/login.htm?error" />
    <logout invalidate-session="true" logout-success-url="/" logout-url="/logout" />
<remember-me key="******" user-service-ref="userDetailsService" />
</http>

<authentication-manager alias="authenticationManager">
<authentication-provider user-service-ref="userDetailsService"  >
    <password-encoder ref="passwordEncoder"/>
</authentication-provider>

<authentication-provider>
    <password-encoder ref="passwordEncoder"/>
    <user-service>
                <user name="ned" password="****" authorities="ROLE_USER" />
            <user name="tom" password="****" authorities="ROLE_ADMIN"/>
    </user-service>
</authentication-provider>
</authentication-manager>

我正在使用Spring Security 3.1的最新快照.

正如我所说的,理想的是能够使用最近在这些错误上发生变化的“新”方式,使两个不同的登录表单完全独立.

任何人都有这个工作或有什么想法?

提前致谢.

解决方法

从0700年10月30日 (2f67bb3) SEC-1847可以看到,authentication-manager-ref属性可以添加在http和global-method-security中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读