设为首页 加入收藏

TOP

解读Spring LDAP 帮助中的代码案例(二)
2014-11-24 02:58:03 来源: 作者: 【 】 浏览:3
Tags:解读 Spring LDAP 帮助 代码 案例
dapTemplate ldapTemplate;
...
public void create(Person p) {//创建方法
Name dn = buildDn(p); //调用之前封装dn的方法获得dn
ldapTemplate.bind(dn, null, buildAttributes(p));
}
/*设置需要创建的属性,objectclass的对象类属性应该是必有的*/
private Attributes buildAttributes(Person p) {
Attributes attrs = new BasicAttributes(); //创建一个属性集
BasicAttribute ocattr = new BasicAttribute("objectclass");
ocattr.add("top"); //这个属性数必须有,就算在服务器手写创建代码时也需要添加它
ocattr.add("person"); //创建的对象类
attrs.put(ocattr); //将属性集添加到属性中
attrs.put("cn", "Some Person"); //输入 cn属性 对应后台的姓的值
attrs.put("sn", "Person"); // 对应后台的常用名
return attrs; //返回你获得的属性
}
}


虽然创建的方法bind中需要是三个参数,但是实际使用的两个参数,第一个为地址,第二个null,第三个是要插入的属性



接下来我们看下 删除,这个是简单的方法,可以理解为DAO中根据id进行删除一个实体就OK了
package com.example.dao;
public class PersonDaoImpl implements PersonDao {
private LdapTemplate ldapTemplate;
...
public void delete(Person p) {
Name dn = buildDn(p); //根据你的用户信息获得你的dn
ldapTemplate.unbind(dn); //根据路径删除这条信息
}
}


接下来就更新了,有两成方式,一种是暴力型,一种是简单更换型。
下面的是暴力型


package com.example.dao;
public class PersonDaoImpl implements PersonDao {
private LdapTemplate ldapTemplate;
...
public void update(Person p) {
Name dn = buildDn(p);
ldapTemplate.rebind(dn, null, buildAttributes(p));
}//只有rebind方法名不同,看名字就知道是重新绑定用户信息,意思是先kill掉用户然后重新添加一个,(太掺不忍睹了,没考虑过性能,如果方便的话貌似也可以。。。。。。。)
}


接下来就是真正的更新。
package com.example.dao;
public class PersonDaoImpl implements PersonDao {
private LdapTemplate ldapTemplate;
...
public void updateDescription(Person p) {
Name dn = buildDn(p);
/*同样也封装了个修改的方法,但是他把这个方法放在了里面*/
/*设置修改的属性,但这里只能修改一个属性就新建一个不能用Attributes(至少我没用过,因为后面有更好的方法)*/
Attribute attr = new BasicAttribute("description", p.getDescription())
/*修改的类 将需要修改的属性放在里面*/
ModificationItem item = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, attr);
/*进行修改 创建一个修改条件,他是ModificationItem[]数组格式 所以要同时更新两个属性 就要 创建两个ModificationItem 然后放进数组 */
ldapTemplate.modifyAttributes(dn, new ModificationItem[] {item});
}
}


OK这就是简单增删改查。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇轻松了解LDAP的结构概念 下一篇C#中字符以及字符串的简单用法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: