4

複数のページに表示されるログインバーが必要なSpring-MVCアプリケーションがあり、jQueryのダイアログシステムを使用してモーダルダイアログウィンドウにフォームを表示します。これを機能させるには、どのSpring-Securityセットアップを使用する必要がありますsecurityContext.xmlか?

これは私が現在使用しているものです:

<http pattern="/resources/**" security="none" />

<http auto-config="true" use-expressions="true">
    <intercept-url pattern="/redirect.jsp" access="permitAll" />
    <intercept-url pattern="/*.html" access="permitAll" />
    <intercept-url pattern="/**" access="denyAll" />        
    <form-login login-page="" />
    <logout logout-success-url="/logout" />
</http>
4

2 に答える 2

2

すべてのページからのログインは、アプリにエントリポイントがないことを示す別の言い方です。したがって、何もしないエントリポイントを構成する必要があります。

私たちは次のようにそれを行うことができます:

public class DoNothingEntryPoint implements AuthenticationEntryPoint {

    @Override
    public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException)
        throws IOException, ServletException {

        /* do nothing */

        }
}


in XML:
<beans:bean id="doNothingEntryPoint" class="xyz.package.DoNothingEntryPoint" />

<http entry-point-ref="doNothingEntryPoint" use-expressions="true">
....
于 2013-03-27T17:07:56.133 に答える
0

jspを使用する場合は、スプリングタグを利用できます。

<sec:authorize ifNotGranted="ROLE_ANONYMOUS">
//User is loggedin
              Welcome, ${pageContext.request.userPrincipal.principal.nameToDisplay}
              <a href="j_spring_security_logout">Logout</a>
                </sec:authorize>
<sec:authorize access="isAnonymous()">
//user is not loggedin, show login form
                <form id="loginForm" onsubmit="DoLoginInline();"  target="passwordIframe" >
                <label>Login:</label>
                <input type="text" class="headerInputs" id="LoginUsername" name="j_username">
                <label>Password:</label>
                <input type="password" class="headerInputs" id="LoginPassword" name="j_password">


                <button type="submit" value="Submit"></button>

                </form>

            </sec:authorize>
于 2013-03-27T13:02:21.900 に答える