AuthenticationManager /角色

时间:2011-11-22 14:47:42

标签: spring spring-security

有没有办法告诉Spring在我自己制作的自定义用户bean中找到用户的角色?

http://static.springsource.org/sprin...ns-config.html

因此,如果我有一个名为UserDetails的bean,那么:

  • 用户id
  • 用户名
  • 角色

使用身份验证管理器,是否可以指向UserDetails bean来确定用户的角色?如果是这样,我将在下面的代码中定义UserDetails bean?

什么是“myUserDetailsS​​ervice”?这是对auth-manager下面的bean的引用吗?

  <authentication-manager>
    <authentication-provider user-service-ref='myUserDetailsService'/>
  </authentication-manager>

  <beans:bean id="myUserDetailsService"
      class="org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl">
    <beans:property name="dataSource" ref="dataSource"/>
  </beans:bean>

1 个答案:

答案 0 :(得分:1)

myUserDetailsService是标准spring安全bean实例的(没有很好选择)id:org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl

它是可用于身份验证和授权的默认Bean之一。 它通过数据库中的简单sql语句加载用户详细信息,包括角色。

如果您想以自己的方式构建自定义UserDetails,那么您只需要一个实现UserDetailsService接口的bean。这个bean必须由<authentication-provider user-service-ref引用(而不是“myUserDetailsS​​ervice”)。

@See Spring Security Reference, chapter 5.2.2 The UserDetailsService