[英]Difficulties with basic Spring Security Configuration
我正在尝试为spring项目构建一个非常基本的,直接的身份验证。
我遇到的问题是应用程序不断地将我发送到“登录失败”页面,尽管我已经宣布了2个基本帐户(管理员和用户)。
我的application-Security.xml:
<http auto-config="true" use-expressions="true">
<form-login login-processing-url="/resources/j_spring_security_check" login-page="/login" authentication-failure-url="/login/denied" />
<logout logout-url="/resources/j_spring_security_logout" />
<!-- Configure these elements to secure URIs in your application -->
<intercept-url pattern="/choices/**" access="hasRole('ROLE_ADMIN')" />
<intercept-url pattern="/member/**" access="isAuthenticated()" />
<intercept-url pattern="/resources/**" access="permitAll" />
<intercept-url pattern="/login" access="permitAll" />
<intercept-url pattern="/home/**" access="hasRole('ROLE_ADMIN')" />
<intercept-url pattern="/*Details/*" access="hasRole('ROLE_USER')" />
</http>
<!-- Configure Authentication mechanism -->
<authentication-manager alias="authenticationManager">
<!-- SHA-256 values can be produced using 'echo -n your_desired_password | sha256sum' (using normal *nix environments) -->
<authentication-provider>
<password-encoder hash="sha-256" />
<user-service>
<user name="admin" password="admin" authorities="ROLE_ADMIN" />
<user name="user" password="user" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
我非常基本的登录表单:
<form action="/${app_name}/resources/j_spring_security_check" method="POST">
<label for="j_username">Username</label>
<input id="j_username" name="j_username" type="text" /><br/>
<label for="j_password">Password</label>
<input id="j_password" name="j_password" type="password" /><br/>
<input type="submit" value="Login" />
</form>
目前,控制器仅用于解析登录,登录/拒绝等URL。
我刚刚开始使用Spring和Roo,所以这可能只是我忽视的显而易见的东西。
感谢任何人花时间回答。
您的问题是您已经定义了密码编码器
<password-encoder hash="sha-256" />
而你的密码是纯文本
<user name="admin" password="admin" authorities="ROLE_ADMIN" />
删除编码器或(更好)指定密码,使用您选择的算法编码(sha-256)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.