我对Spring Security 3.0.5有个问题。Spring Security:UserDetails和UserDetailsService是否存在于使用Spring Security的每种应用程序中?
当使用Spring Security来保护Web应用程序时,是否存在一个“UserDetails” - 对象总是?我的意思是,使用Spring Security的每种应用程序(即使在LDAP或X.509或CAS等其他系统中)是否也提供了“UserDetails”对象?
此外,如果是,每个应用程序都有一个UserDetailsService?我不这么认为,但是我读到核心组件始终存在(SecurityContextHolder,SecurityContext,Authentication)。如果是这样,Authentication对象具有什么意义,如果它不包含UserDetails-Object?
谢谢!
谢谢!但SecurityContextHolder,SecurityContext和Authentication如何呢?必须始终使用这些对象,他们呢? – nano7 2011-05-20 14:32:01
SecurityContext具有对仅作为接口的身份验证的引用。 UsernamePasswordAuthenticatonToken具有对UserDetails的引用,是一种身份验证,但也可能有其他类型(请参阅用于身份验证的Javadoc)。 – sourcedelica 2011-05-20 18:37:40
谢谢。我知道其他类型的身份验证是可能的。我只是想知道,每一个由spring安全保护的应用程序是否有SecurityContextHolder,SecurityContext和Authentication-Objects(无论什么类型的令牌对我来说都不重要,它们都代表校长,不是吗?)。这三个对象被称为“核心”组件,这就是为什么我想知道它! :-) – nano7 2011-05-25 09:37:59