2013-05-07 44 views
2

我开发的应用程序需要将用户创建并维护到活动目录中。活动目录:将用户移动到不同的OU

我的问题是,用户有一个层次结构,主人可以使用不同的密码到期值来创建它们。我正在阅读有关的信息,也许有可能使用OU来做,但我找不到有关它的代码示例。

也许存在一个更好的方式来做这个要求,但不幸的是这是我发现的唯一方法。

解决方案(对我的工作)

当您创建的专有名称(DN),您必须将组织单位添加到值。这是我做的代码:

protected String getDN(User user) 
{ 
    //User name 
    String dn = "CN=" + user.getLogin(); 

    //OU 
    String ou; 
    if (user.getPasswordExpirationTime() == 1) 
    ou = "PJ1"; //one day 
    else if (usuario.getPasswordExpirationTime() == 30) 
    ou = "PJ30"; //thirty days 
    else if (usuario.getPasswordExpirationTime() == 60) 
    ou = "PJ60"; //sixty days 
    else 
    ou = "PJ90"; //default, ninety days 

    dn += ",OU=" + ou; 

    //Domain 
    dn += ",DC=domain,DC=local"; 

    return dn; 
} 

回答

3

这里是如何做到这一点一个例子:

String oldUserName = "CN=Albert Einstein,OU=Research,DC=antipodes,DC=com"; 
String newUserName = "CN=Albert Einstein,OU=Sales,DC=antipodes,DC=com"; 
// Create the initial directory context 
LdapContext ctx = new InitialLdapContext(env,null); 
// Move the user 
ctx.rename(oldUserName,newUserName); 

https://forums.oracle.com/forums/thread.jspa?threadID=1157099

相关问题