Spring Security 4 - 自定义登录重定向到上一页或不带条件

时间:2016-09-08 08:04:56

标签: spring spring-mvc login

我正在尝试使用具有spring security的自定义登录表单。

所以我有一个网站,顶部有一个登录按钮,所以当用户点击按钮时,它会将他们带到登录表单。我想要的是回到用户点击按钮时的页面。

我的按钮位于导航栏中,因此可以在应用程序的任何位置单击它。

到目前为止,我有这个配置(XML):

  <http auto-config="true" use-expressions="true">

        <intercept-url pattern="/**/*.css" access="permitAll" />
        <intercept-url pattern="/**/*.js" access="permitAll" />
        <intercept-url pattern="/**/*.png" access="permitAll" />
        <intercept-url pattern="/**/*.jpg" access="permitAll" />
        <intercept-url pattern="/**/*.gif" access="permitAll" />
        <intercept-url pattern="/**/*.ttf" access="permitAll" />
        <intercept-url pattern="/**/*.otf" access="permitAll" />
        <intercept-url pattern="/**/*.woff" access="permitAll" />
        <intercept-url pattern="/**/*.woff2" access="permitAll" />
        <intercept-url pattern="/**/*.eot" access="permitAll" />
        <intercept-url pattern="/**/*.svg" access="permitAll" />
        <intercept-url pattern="/**/*.ico" access="permitAll" />
        <intercept-url pattern="/**/*.map" access="permitAll" />
        <intercept-url pattern="/login" access="permitAll"/>
        <intercept-url pattern="/resources" access="permitAll"/>
        <intercept-url pattern="/foo/{fooName}" access="hasRole('ROLE_USERREGISTERED')"/>
        <intercept-url pattern="/rest/foo/**" access="permitAll"/>




        <!-- access denied page -->
        <!--<access-denied-handler error-page="/page404"/>-->
       <form-login
                 login-page="/login"
                 authentication-failure-url="/login?error"
                 username-parameter="username"
                 password-parameter="password"
        />
         <logout logout-success-url="/login?logout"/>
        <!-- enable csrf protection -->
        <csrf disabled="true"/>
    </http>
 <authentication-manager>
        <authentication-provider>
            <jdbc-user-service data-source-ref="dataSource"
                               users-by-username-query=
                                       "foo Select"
                               authorities-by-username-query=
                                       "foo SELECT"/>
        </authentication-provider>
    </authentication-manager>

我的自定义登录表单:

<c:url var="loginUrl" value='login' />
<div class="wrapper">
    <form class="form-signin" action="${loginUrl}" method="post">
        <img id="image-logo-foo" class="img-responsive" src="<c:url value="/resources/images/foo_logo.png"/>">
        <h2 class="form-signin-heading text-center"><spring:message code="log.in"/></h2>
        <input type="text" id="username"  class="form-control" name="username" placeholder="Email" required="" autofocus="" />
        <input type="password" class="form-control"  id="password" name="password" placeholder="Password" required=""/>
        <h6 class="text-center"><a><spring:message code="forgot.password"/></a></h6>

        <button class="btn btn-lg btn-primary btn-block btn-orange" type="submit"><spring:message code="log.in"/></button>
    </form>
    <form class="form-signin form-signin-middle">
        <button class="btn btn-lg btn-primary btn-block btn-blue"><span class="icon-facebook"></span><spring:message code="log.in.facebook"/></button>
    </form>
    <form class="form-signin">
        <h6 class="text-center margin-first"><spring:message code="first.time"/></h6>
        <button class="btn btn-lg btn-primary btn-block btn-green"><spring:message code="create.account"/></button>
    </form>
</div>

0 个答案:

没有答案