Spring security 从用户名加载用户详细信息
我有一个具有用户引用的域类:Spring security 从用户名加载用户详细信息,spring-security,ldap,grails-2.0,Spring Security,Ldap,Grails 2.0,我有一个具有用户引用的域类: class MyThing { MyUser createdBy //... 通过使用Spring安全插件,我有一个很好的选择,就是我试图从引用中获取用户的电子邮件地址。使用springSecurityService.principal非常有效,但仅适用于当前登录的用户 如何获取用户的电子邮件地址 如果我不能简单地通过用户名引用“查找”,那么是否可以扩展我的Person类以从LDAP插件获取电子邮件地址并保存到数据库?我通过首先向Person类添加
class MyThing {
MyUser createdBy
//...
通过使用Spring安全插件,我有一个很好的选择,就是我试图从引用中获取用户的电子邮件地址。使用springSecurityService.principal
非常有效,但仅适用于当前登录的用户
如何获取用户的电子邮件地址
如果我不能简单地通过用户名引用“查找”,那么是否可以扩展我的Person类以从LDAP插件获取电子邮件地址并保存到数据库?我通过首先向Person类添加电子邮件属性来解决问题
class MyUser {
String username
String email
然后,通过使用ldap模板属性映射,我能够提取电子邮件以及用户名
tokens.add(attributes.get("sAMAccountName").get().toString());
tokens.add(attributes.get("mail").get().toString());
从那里,它只是得到了属性
createdBy.email
我可能还没有完全理解你的问题。Spring security在http会话中仅存储登录的用户详细信息。如果您想了解其他用户的详细信息,那么您需要从数据库/ldap中检索用户名。