春季安全4中的用户名null

Posted

技术标签:

【中文标题】春季安全4中的用户名null【英文标题】:username null in spring security 4 【发布时间】:2018-01-14 14:27:17 【问题描述】:

我使用了 Spring Security 3,我决定将其升级到 Spring Security 4,当我遇到问题时。问题是当我从登录表单将用户名和密码发布到我的自定义 userDetailService 时,用户名为空。

<form action="<c:url value='/j_spring_security_check' />"  
    method='POST' id="login-form1" class="smart-form client-form" enctype="multipart/form-data" >
.
.
.
<section>
    <label class="label">email</label>
    <label class="input"> <i class="icon-append fa fa-user"></i>
    <input type="text" name="username" id="username" data-parsley-trigger="change" required="">
    <b class="tooltip tooltip-top-right"><i class="fa fa-user txt-color-teal"></i> enter email</b></label>
</section>
<section>
    <label class="label">password</label>
    <label class="input"> <i class="icon-append fa fa-lock"></i>
    <input type="password" name="password" id="password">
    <b class="tooltip tooltip-top-right"><i class="fa fa-lock txt-color-teal"></i> password</b> </label>
    <div class="note">
        <a href="forgotpassword.html">forgot password</a>
    </div>
</section>

这是我的 spring-security.xml

    <security:intercept-url pattern="/view/login.jsp*" access="permitAll" />

    <security:intercept-url pattern="/view/**" access="hasRole('ROLE_USER')" />
    <security:intercept-url pattern="/rest/**" access="hasRole('ROLE_USER')" />
    <security:form-login login-page="/view/login.jsp"
                login-processing-url="/j_spring_security_check"
                default-target-url="/view/homepage.jsp"
                password-parameter="password"
                username-parameter="username"/>

【问题讨论】:

【参考方案1】:

您的 encType 不正确。 Spring 默认不支持登录页面的多部分请求。

    如果您不想要多部分请求,则只需将其删除。 如果您想要多部分支持,则必须在 web.xml 文件中添加多部分过滤器。并且您需要配置 Apache commons 多部分解析器。

请看一下这个spring security multipart

【讨论】:

不客气。你选择了什么选项?如果它解决了您的问题,最终也会接受答案。

以上是关于春季安全4中的用户名null的主要内容,如果未能解决你的问题,请参考以下文章

如何在春季测试 LDAP 安全配置?

春季安全删除用户 - 会话仍处于活动状态

春季安全。如何获取用户电子邮件地址?

如何为用户创建无痛的安全春季社交注册/登录

如何处理 UsernameNotFoundException 春季安全

即使用户登录,访问也被拒绝,春季安全性