1
私は春に簡単なログイン処理をしようとしていますが、そこに何らかのエラーがあります。ログインボタンをクリックすると、「HTTPステータス404 - 見つかりません。」と表示されます。 依存関係の3つのタイプのこのプロジェクトで使用されている春のmvcセキュリティでのログイン処理がうまくいきません
1.春・セキュリティ・ウェブ2.春-セキュリティ設定3.春・セキュリティ・コア
春セキュリティ構成。
春-のsecurity.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns:beans="http://www.springframework.org/schema/beans"
xmlns="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd
">
<http auto-config="true">
<intercept-url pattern="/user/dairy**" access="hasRole('ROLE_USER')" />
<form-login
login-page="/login"
default-target-url="/"
authentication-failure-url="/login?error"
username-parameter="username"
password-parameter="password"
/>
<logout logout-success-url="/login?logout" />
<csrf/>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="nishan" password="123456" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
私はこのよう
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml,
/WEB-INF/spring-security.xml
</param-value>
</context-param>
コントローラ
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String account(ModelMap model, @RequestParam(value = "error", required = false) String error,
@RequestParam(value = "logout", required = false) String logout) {
model.put("account", new Dairy());
if (error != null) {
model.addAttribute("error", "Invalid username and password!");
}
return "user/accounts/login-signup";
}
そして、私のログインにweb.xmlにこの構成の負荷を持っていますフォーム
<form class="form-inline" name="loginForm" method="post" action="${SITE_URL}/j_spring_security_check">
<div class="form-group">
<label for="email" style="color:white"><strong>Username:</strong></label>
<input type="text" name="username" class="form-control" placeholder="username"/>
</div>
<div class="form-group">
<label for="pwd" style="color:white"><strong>Password:</strong></label>
<input type="password" name="password" class="form-control" placeholder="password"/>
</div>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<button type="submit" class="btn btn-success">Login <span class="glyphicon glyphicon-log-in"></span></button>
</form>
そして、これが私のプロジェクト構造である
を使用している場合は、コンテキスト・パスを使用して
${SITE_URL}
を交換するか、それを削除しなければならない場合があります** 404-ページが見つかりません**エラーは解決されましたが、正しいユーザー名を入力するとエラーが表示され、エラーはこのようになります。** java.lang.IllegalArgumentException:id "null" **のためにマップされたPasswordEncoderはありません。 – HoaxどのバージョンのSpringセキュリティとSpringを使用していますか?私にとってはうまくいきます。 –
以前、私はバージョン5のスプリングセキュリティを使用していました。ありがとう@Peter Jurkovic y私たちの提案 – Hoax