从用户名加载用户详细信息

时间:2012-10-05 03:08:43

标签: spring-security ldap grails-2.0

我有一个带有用户参考的域类:

class MyThing {
    MyUser createdBy
    //...

使用Spring Security插件时,除了我试图从引用中获取用户的电子邮件地址外,我还有一个basic Person class setup。对于当前登录的用户,使用springSecurityService.principal效果很好但

如何获取用户的电子邮件地址?

如果我不能简单地通过用户名引用“查找”,那么是否可以扩展我的Person类以从LDAP插件获取电子邮件地址并保存到数据库?

1 个答案:

答案 0 :(得分:0)

我首先在Person类中添加了一个email属性来解决我的问题。

class MyUser {
    String username
    String email

然后通过使用ldap模板属性映射,我能够提取电子邮件和用户名。

tokens.add(attributes.get("sAMAccountName").get().toString());
tokens.add(attributes.get("mail").get().toString());

从那里获得财产createdBy.email