Spring Security HTTP基本身份验证

ras*_*ayu 8 java spring-security basic-authentication

我正在尝试使用Spring Security进行非常简单的基本身份验证.我已正确配置命名空间,服务器中没有例外.在我的"servlet.xml"中,我获得了Spring Security的下一个:

<security:http>
    <security:http-basic></security:http-basic>
    <security:intercept-url method="POST" pattern="/**" access="ROLE_USER" />
</security:http>


<security:authentication-manager alias="authenticationManager">
    <security:authentication-provider>
        <security:user-service>
            <security:user name="cucu" password="tas" authorities="ROLE_USER" />
            <security:user name="bob" password="bobspassword" authorities="ROLE_USER" />
        </security:user-service>
    </security:authentication-provider>
</security:authentication-manager>
Run Code Online (Sandbox Code Playgroud)

它几乎都是完美的:POST没有提示任何登录表单的POST方法,并且方法提示它.问题是,那也不是cucu,也bob不能登录那里.任何人都可以看到我做错了什么?

提前致谢!;-)

ras*_*ayu 25

自动应答

T_T两天来对付这个代码......

看起来这不是代码的问题.我正在使用Weblogic,而Weblogic使用"授权"标头捕获请求,因此它无法访问我的身份验证管理器.我尝试用glassfish,它完美无缺.

在搜索一些信息时,我在下一篇博客中找到了一个有用的条目:http: //yplakosh.blogspot.com/2009/05/how-to-fix-basic-authentication-issue.html

从我的Weblogic服务器(<security-configuration>部分)添加config.xml中的下一行:

<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>

Weblogic不会再次捕获基本身份验证凭据,因此将由您的身份验证管理员来处理它.

我希望它可以节省一些时间给任何人:-)

  • 非常感谢您发布此解决方案.我刚开始遇到这个问题并在搜索Goolgle后发现了你的帖子. (4认同)