【发布时间】:2012-07-07 21:14:03
【问题描述】:
我有这个 Spring XML:
<!-- Configure the authentication -->
<security:http auto-config="true" use-expressions="true">
<security:form-login login-page="/login"
authentication-failure-url="/login?error=true"
default-target-url="/index" />
<security:logout invalidate-session="true"
logout-success-url="/login"
logout-url="/logout" />
</security:http>
<security:authentication-manager>
<security:authentication-provider user-service-ref="testUDS" />
</security:authentication-manager>
<bean id="testUDS" class="net.safecycle.services.security.TestUserDetailService" />
我的 UserDetailsService 实现如下所示:
public class TestUserDetailService implements UserDetailsService {
public UserDetails loadUserByUsername
(
String username
) throws UsernameNotFoundException {
System.out.println ("loadUserByUsername (" + username + ")");
Collection<GrantedAuthority> authorities;
authorities = new LinkedList<GrantedAuthority> ();
authorities.add (new GrantedAuthorityImpl ("Admin"));
UserDetails ud = new User (username,
"ca",
true,
true,
true,
true,
authorities);
return ud;
}
}
当我使用任何用户名和密码“ca”登录时,我应该会在loadUserByUsername 的顶部看到打印语句,但我没有。最令人困惑的是,我在另一个项目中使用过这段代码没有问题。有什么我遗漏的,我希望是复制错误吗?
【问题讨论】:
标签: java spring spring-mvc spring-security