首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未调用UserDetailsService

未调用UserDetailsService
EN

Stack Overflow用户
提问于 2012-01-31 13:14:54
回答 2查看 3K关注 0票数 1

我有这个Spring XML:

代码语言:javascript
复制
    <!-- 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实现如下所示:

代码语言:javascript
复制
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的顶部看到打印语句,但我没有看到。最令人困惑的是,我在另一个项目中使用过此代码,没有任何问题。我是不是遗漏了什么,我希望是复制错误?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-31 13:49:41

尝试指定受保护的资源

代码语言:javascript
复制
<security:intercept-url pattern="/**" access="isAuthenticated()"/>
票数 0
EN

Stack Overflow用户

发布于 2012-03-12 22:09:14

下面是我的xml文件中的代码。唯一缺少的就是盟军..尝试添加alias="authenticationManager“可能会有所帮助。

代码语言:javascript
复制
<beans:bean id="CustomUserDetailsService"
    class="com.dennis.ehospital.hibernate.security.CustomUserDetailsService" />

<authentication-manager alias="authenticationManager">
    <authentication-provider user-service-ref="CustomUserDetailsService" />
</authentication-manager>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9074761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档