2023年6月21日发(作者:)
连接。
事
例代码:private DirContext getInitialContext() throws Exception {
}
Hashtable env = new Hashtable();
(L_CONTEXT_FACTORY,
"xFactory");
(ER_URL, "ServerHost");
(TY_AUTHENTICATION, "simple");
(TY_PRINCIPAL, "username");
(TY_CREDENTIALS, "password");
DirContext ctx = new InitialDirContext(env);
return ctx;
2、JNDI对Ldap进行查询
事例代码:
private String getPersonIdFromCMCC(String uid){
String personid = "";
DirContext dc = null;
Object obj = null;
SearchResult si = null;
Attributes atts = null;
String searchDN = "OU=users,dc=SX,DC=CMCC";
String userDN = "uid="+uid+","+searchDN;
try {
dc = getInitialContext();
SearchControls constraints = new SearchControls();
String filter = "(uid="+uid+")";
NamingEnumeration en = (searchDN, filter,
constraints);
if(eElements()){
obj = ement();
if (obj instanceof SearchResult) {
si = (SearchResult) obj;
atts = ributes();
personid = ("cmcc-sx-appAttribute12");
}
}
}
catch (Exception e) {
// TODO Auto-generated catch block
tackTrace();
}finally{
try {
();
} catch (NamingException e) {
// TODO Auto-generated catch block
tackTrace();
}
}
return personid;
}
3、向LDAP中增加数据
public void addLdap(PortalEntity user, DirContext idc) {
String baseDN = "OU=users,dc=SX,DC=CMCC";
Attributes attrs = new BasicAttributes();
Attribute objectclassAttr = new
BasicAttribute("objectclass");
("top");
("person");
(objectclassAttr);
if(()!= null){
Attribute snAttr = new BasicAttribute("sn");
(());
(snAttr);
}
if(()!=null){
Attribute nameAttr = new BasicAttribute("uid");
(());
(nameAttr);
}
if(()!=null){
Attribute cn = new BasicAttribute("cn");
(());
(cn);
}
}
try {
Subcontext("uid=" + () + "," +
baseDN,attrs);
} catch (Exception e) {
tackTrace();
}
4、从LDAP中删除数据
public void deleteUserLdap(String uid) {
DirContext dc = null;
Object obj = null;
SearchResult si = null;
Attributes atts = null;
String searchDN = "ou=people,dc=sxmcc,dc=com,dc=cn";
SearchControls constraints = new SearchControls();
try {
dc = talLdapContext();
String filter = "(uid="+uid+ ")";
NamingEnumeration en = (searchDN, filter,
constraints);
while (eElements()) {
obj = ement();
if (obj instanceof SearchResult) {
si = (SearchResult) obj;
atts = ributes();
if (atts != null) {
String jobDN = "uid=" +
("uid").get().toString() + ","
+ searchDN;
ySubcontext(jobDN);
}
}
}
} catch (Exception e) {
tackTrace();
} finally {
if (dc != null)
try {
();
log(" = " + dc, _LOG);
} catch (NamingException e) {
tackTrace();
}
}
}
5、修改LDAP中数据
public void updateLdap(PortalEntity user, DirContext idc,Attributes
atts) {
String baseDN = "ou=people,dc=sxmcc,dc=com,dc=cn";
try {
if (atts != null) {
String userDN = "uid="+ ("uid").get().toString()+
"," + baseDN;
ModificationItem[] mods = null;
Vector v = new Vector();
BasicAttribute bat = null;
//1
if(()!=null){
if(("sn")== null
|| !("sn").contains(())){
bat = new BasicAttribute("sn");
(());
(bat);
}
}
//2
if( () != null){
if(("cn")== null
|| !("cn").contains(())){
bat = new BasicAttribute("cn");
(());
(bat);
}
}
if (() != 0) {
}
}
}
mods = new ModificationItem[()];
for (int j = 0; j < (); j++) {
mods[j] = new ModificationItem(
E_ATTRIBUTE,
(BasicAttribute) tAt(j));
Attributes(userDN, mods);
}
} catch (Exception e) {
}
tackTrace();
2023年6月21日发(作者:)
连接。
事
例代码:private DirContext getInitialContext() throws Exception {
}
Hashtable env = new Hashtable();
(L_CONTEXT_FACTORY,
"xFactory");
(ER_URL, "ServerHost");
(TY_AUTHENTICATION, "simple");
(TY_PRINCIPAL, "username");
(TY_CREDENTIALS, "password");
DirContext ctx = new InitialDirContext(env);
return ctx;
2、JNDI对Ldap进行查询
事例代码:
private String getPersonIdFromCMCC(String uid){
String personid = "";
DirContext dc = null;
Object obj = null;
SearchResult si = null;
Attributes atts = null;
String searchDN = "OU=users,dc=SX,DC=CMCC";
String userDN = "uid="+uid+","+searchDN;
try {
dc = getInitialContext();
SearchControls constraints = new SearchControls();
String filter = "(uid="+uid+")";
NamingEnumeration en = (searchDN, filter,
constraints);
if(eElements()){
obj = ement();
if (obj instanceof SearchResult) {
si = (SearchResult) obj;
atts = ributes();
personid = ("cmcc-sx-appAttribute12");
}
}
}
catch (Exception e) {
// TODO Auto-generated catch block
tackTrace();
}finally{
try {
();
} catch (NamingException e) {
// TODO Auto-generated catch block
tackTrace();
}
}
return personid;
}
3、向LDAP中增加数据
public void addLdap(PortalEntity user, DirContext idc) {
String baseDN = "OU=users,dc=SX,DC=CMCC";
Attributes attrs = new BasicAttributes();
Attribute objectclassAttr = new
BasicAttribute("objectclass");
("top");
("person");
(objectclassAttr);
if(()!= null){
Attribute snAttr = new BasicAttribute("sn");
(());
(snAttr);
}
if(()!=null){
Attribute nameAttr = new BasicAttribute("uid");
(());
(nameAttr);
}
if(()!=null){
Attribute cn = new BasicAttribute("cn");
(());
(cn);
}
}
try {
Subcontext("uid=" + () + "," +
baseDN,attrs);
} catch (Exception e) {
tackTrace();
}
4、从LDAP中删除数据
public void deleteUserLdap(String uid) {
DirContext dc = null;
Object obj = null;
SearchResult si = null;
Attributes atts = null;
String searchDN = "ou=people,dc=sxmcc,dc=com,dc=cn";
SearchControls constraints = new SearchControls();
try {
dc = talLdapContext();
String filter = "(uid="+uid+ ")";
NamingEnumeration en = (searchDN, filter,
constraints);
while (eElements()) {
obj = ement();
if (obj instanceof SearchResult) {
si = (SearchResult) obj;
atts = ributes();
if (atts != null) {
String jobDN = "uid=" +
("uid").get().toString() + ","
+ searchDN;
ySubcontext(jobDN);
}
}
}
} catch (Exception e) {
tackTrace();
} finally {
if (dc != null)
try {
();
log(" = " + dc, _LOG);
} catch (NamingException e) {
tackTrace();
}
}
}
5、修改LDAP中数据
public void updateLdap(PortalEntity user, DirContext idc,Attributes
atts) {
String baseDN = "ou=people,dc=sxmcc,dc=com,dc=cn";
try {
if (atts != null) {
String userDN = "uid="+ ("uid").get().toString()+
"," + baseDN;
ModificationItem[] mods = null;
Vector v = new Vector();
BasicAttribute bat = null;
//1
if(()!=null){
if(("sn")== null
|| !("sn").contains(())){
bat = new BasicAttribute("sn");
(());
(bat);
}
}
//2
if( () != null){
if(("cn")== null
|| !("cn").contains(())){
bat = new BasicAttribute("cn");
(());
(bat);
}
}
if (() != 0) {
}
}
}
mods = new ModificationItem[()];
for (int j = 0; j < (); j++) {
mods[j] = new ModificationItem(
E_ATTRIBUTE,
(BasicAttribute) tAt(j));
Attributes(userDN, mods);
}
} catch (Exception e) {
}
tackTrace();
发布评论