0
我早些時候使用過spring的默認登錄表單來認證用戶。現在我正嘗試在大多數網站上的主頁上創建一個div內的登錄表單。並且action
標記的值等於/login
,我猜是Spring登錄身份驗證的默認URL。但我得到404 Requested resource is not available
。我如何使用自定義窗體來實現春季登錄驗證?以下是我的代碼。頁面自定義使用彈性登錄認證的登錄表格
登錄表單:
<form action="${pageContext.request.contextPath}/login" method="POST">
<div class="w100" style=""></div>
<div class="w100 formHeading">
<fmt:message key="login"></fmt:message>
</div>
<div class="w100">
<label for="username">Username</label>
<input type="text"
id="username" name="username" />
<label for="password">Password</label>
<input type="password" id="password" name="password" />
<div class="w100">
<button type="submit" class="btn">Log in</button>
</div>
</form>
安全配置:
<security:http auto-config="true" use-expressions="true">
<security:intercept-url pattern="/static/**" access="permitAll" />
<security:intercept-url pattern="/login" access="permitAll" />
<security:intercept-url pattern="/" access="permitAll" />
<security:intercept-url pattern="/*" access="denyAll" />
<security:form-login login-page="/login" default-target-url="/" />
<security:csrf disabled="true" />
</security:http>
<security:global-method-security secured-annotations="enabled"></security:global-method-security>
情況並非如此(至少在新版本中)。請參閱http://docs.spring.io/spring-security/site/docs/4.0.2.RELEASE/reference/htmlsingle/#jc-form。登錄URL可以與表單動作相同(獲取表單爲GET並提交爲POST),用戶名和密碼參數名稱爲默認名稱。 (但是你可能是對的,因爲目前尚不清楚哪個彈簧安全版本OP正在使用) – Ritesh
@Ritesh他們在4.0.0中改變了它,我不知道,謝謝。更新了答案。 – holmis83