📄 ldaptest.java
字号:
package com.sinosoft.security.util.mazingldaptools;
import java.util.Date;
import java.util.Enumeration;
import netscape.ldap.LDAPAttribute;
import netscape.ldap.LDAPAttributeSet;
import netscape.ldap.LDAPDN;
import netscape.ldap.LDAPEntry;
import netscape.ldap.LDAPException;
import netscape.ldap.LDAPReferralException;
import netscape.ldap.LDAPSearchResults;
import netscape.ldap.LDAPUrl;
import com.sinosoft.security.Constants;
import com.sinosoft.security.SecurityFactory;
import com.sinosoft.security.SmileIDFactory;
import com.sinosoft.security.manager.ApplicationManager;
import com.sinosoft.security.manager.BaseObjectManager;
import com.sinosoft.security.manager.OrganizationManager;
import com.sinosoft.security.manager.PermissionManager;
import com.sinosoft.security.manager.PersonManager;
import com.sinosoft.security.manager.RoleClassManager;
import com.sinosoft.security.manager.RoleManager;
import com.sinosoft.security.model.Application;
import com.sinosoft.security.model.BaseObject;
import com.sinosoft.security.model.Organization;
import com.sinosoft.security.model.Permission;
import com.sinosoft.security.model.Person;
import com.sinosoft.security.model.Role;
import com.sinosoft.security.model.RoleClass;
import com.sinosoft.security.provider.ldap.coresupports.LDAPConnectionPool;
import com.sinosoft.security.provider.ldap.coresupports.LDAPWaitor;
import com.sinosoft.security.util.MD5;
import com.sinosoft.security.util.MazingRandom;
/**
* <p>
* Title:
* </p>
*
* <p>
* Description:
* </p>
*
* <p>
* Copyright: Copyright (c) 2005
* </p>
*
* <p>
* Company:
* </p>
*
* @author not attributable
* @version 1.0
*/
public class LdapTest {
public LdapTest() {
}
static public void initConnection() {
try {
LDAPConnectionPool ldapPool = new LDAPConnectionPool(2, 2,
"192.168.4.160", 4032, "cn=orcladmin", "welcome", "false");
LDAPConnectionPool.setInstance(ldapPool);
} catch (Exception e) {
e.printStackTrace();
}
}
static public void main(String[] args) throws Exception {
initConnection();
// new LdapTest().MetasrvTypePatch();
// new LdapTest().addRoles();
// new LdapTest().deleteRoleClass();
// new LdapTest().BaseObjectManagerTest();
// new LdapTest().PersonManagerTest();
// new LdapTest().delTree();
// new LdapTest().PersonManagerTest();
new LdapTest().delTree();
// new LdapTest().addWhole();
// 应用模块/
// new LdapTest().impApplication();
// 权限
// new LdapTest().impPermissions();
// 角色模板
// new LdapTest().impRoleClass();
// 角色
// new LdapTest().impRole();
}
public void addWhole() throws Exception {
for (int i = 0; i < 10000; i++) {
String str = SmileIDFactory.getRandomID();
createPerson(str, str);
}
}
public String makeMD5Pwd(String pwd) {
MD5 mymd = new MD5();
return mymd.getMD5ofStr(pwd);
}
public void addRoles() throws Exception {
String[] rclstr = new String[] { "downloadman", "editallman",
"printallman", "queryman", "useman" };
Organization[] orgs = SecurityFactory.getOrganizationManager()
.getAllOrgs();
RoleClassManager rclmrg = SecurityFactory.getRoleClassManager();
String str = "";
for (int i = 0; i < rclstr.length; i++) {
RoleClass parent = rclmrg.getRoleClassByEName(rclstr[i]);
if (i == 0)
str = "信息下载人员";
if (i == 1)
str = "信息编辑人员";
if (i == 2)
str = "信息打印人员";
if (i == 3)
str = "信息查询人员";
if (i == 4)
str = "信息使用人员";
for (int j = 0; j < orgs.length; j++) {
Role newone = (Role) SecurityFactory.getBean("Role");
newone.setRoleClass(parent);
newone
.setManageLevel(Constants.ManageLevel.SMILE_MANAGE_LEVEL_SUB);
newone.setManageOrg(orgs[j]);
newone.setEName(orgs[j].getEName() + rclstr[i]);
newone.setName(orgs[j].getName() + str);
newone.save();
}
}
}
public void createPerson(String ename, String name) throws Exception {
Person man = (Person) SecurityFactory.getBean("Person");
// man.setAddress("瞅啥呀~~~");
// man.setPersonPasswd("liulaogen123");
// man.setChangePasswd(false);
// man.setCreateDate(new Date(System.currentTimeMillis()));
// man.setDescription("马大姐,就一好管闲时的闲人儿~~");
// man.setEmail("hanlin@sinosoft.com.cn");
man.setEName(ename);
// man.setHomePhone("66429988");
// man.setValid();
// man.setMailPasswd("LaoGen.Liu");
// man.setMobilePhone("1234556");
// man.setModifyDate(new Date(System.currentTimeMillis()));
man.setName(name);
man.setNeverChangePasswd(true);
OrganizationManager orgmgr = (OrganizationManager) SecurityFactory
.getBean("OrganizationManager");
man
.setParentOrg(orgmgr
.getOrgByDN("ou=beijinggov,cn=Organization,dc=sinosoft,dc=com"));
// man.setPhone("72570007");
// man.setProvince("东北");
man.setSurName("马大姐");
man.save();
}
public void deletePerson(String ename) throws Exception {
PersonManager permrg = (PersonManager) SecurityFactory
.getBean("PersonManager");
Person killman = permrg.getPersonByEName(ename);
if (killman != null)
killman.delete();
}
public void deleteApplication() throws Exception {
ApplicationManager appmrg = (ApplicationManager) SecurityFactory
.getBean("ApplicationManager");
Application killapp = appmrg
.getAppByDN("cn=OA_Document,cn=OA,cn=Module,cn=Application,dc=taikanglife,dc=com");
if (killapp != null)
killapp.delete();
}
public void deletePermission() throws Exception {
PermissionManager permmrg = (PermissionManager) SecurityFactory
.getBean("PermissionManager");
Permission killper = permmrg
.getPermByDN("cn=PigFeeder,cn=Permission,cn=Application,dc=slash,dc=com");
if (killper != null)
killper.delete();
}
public void deleteRoleClass() throws Exception {
RoleClassManager rolecmrg = (RoleClassManager) SecurityFactory
.getBean("RoleClassManager");
RoleClass[] killrolec = rolecmrg
.getRoleClassByRootAppDN("cn=OA,cn=Module,cn=Application,dc=taikanglife,dc=com");
for (int i = 0; i < killrolec.length; i++) {
Role[] roles = SecurityFactory.getRoleManager()
.getRolesByRoleClass(killrolec[i]);
if (roles == null)
continue;
for (int j = 0; j < roles.length; j++) {
roles[j].delete();
}
killrolec[i].delete();
System.out.println(killrolec[i].getDN() + "干掉了!");
}
}
public void createApplication(String parentAppDn, String ename, String name)
throws Exception {
// Application app = (Application)
// SecurityFactory.getBean("Application");
// ApplicationManager appmgr = (ApplicationManager)
// SecurityFactory.getBean(
// "ApplicationManager");
// app.setAppPath("俺是傻根儿");
// app.setCreateDate(new Date(System.currentTimeMillis()));
// app.setModifyDate(new Date(System.currentTimeMillis()));
// app.setDescription("大姐,俺信你!");
// app.setEName("BeijingOffice");
// app.setName("公文办理");
// app.setIsRootApp(false);
// app.setParentApp(appmgr.getAppByDN(
// "cn=HeadOffice,cn=Module,cn=Application,dc=slash,dc=com"));
// app.setValid();
// app.save();
Application app = (Application) SecurityFactory.getBean("Application");
ApplicationManager appmgr = (ApplicationManager) SecurityFactory
.getBean("ApplicationManager");
Application parentapp = appmgr.getAppByDN(parentAppDn);
app.setCreateDate(new Date(System.currentTimeMillis()));
app.setModifyDate(new Date(System.currentTimeMillis()));
app.setParentApp(parentapp);
app.setEName(ename);
app.setName(name);
app.setIsRootApp(false);
app.setValid();
app.save();
}
public void ModifyApplication() throws Exception {
ApplicationManager appmgr = (ApplicationManager) SecurityFactory
.getBean("ApplicationManager");
Application app = appmgr
.getAppByDN("cn=BeijingOffice,cn=HeadOffice,cn=Module,cn=Application,dc=slash,dc=com");
app.setAppPath("俺是傻根儿@#$#%$#");
app.setCreateDate(new Date(System.currentTimeMillis()));
app.setModifyDate(new Date(System.currentTimeMillis()));
app.setDescription("大姐,俺信你!@%#$$%");
app.setEName("BeijingOffice");
app.setName("公文办理+会议室");
app.setIsRootApp(false);
app.setParentAppDN("cn=Module,cn=Application,dc=slash,dc=com");
app.setValid();
app.save();
}
public void ModifyOrganization() throws Exception {
OrganizationManager appmgr = (OrganizationManager) SecurityFactory
.getBean("OrganizationManager");
Organization org = appmgr
.getOrgByDN("ou=YangPu,ou=Shanghai,ou=ho,ou=taikanglife,cn=Organization,dc=slash,dc=com");
org.setOrgCategory(Constants.orgCategory.SMILE_ORG_CATEGORY_CORP);
org.setOrgClass(Constants.orgClass.SMILE_ORG_CLASS_BRANCH);
org.save();
}
public void createRootApplication() throws Exception {
Application app = (Application) SecurityFactory.getBean("Application");
app.setAppPath("阿里爸爸的大门");
app.setCreateDate(new Date(System.currentTimeMillis()));
app.setModifyDate(new Date(System.currentTimeMillis()));
app.setDescription("芝麻~芝麻~开");
app.setEName("HeadOffice");
app.setName("公文办理");
app.setIsRootApp(true);
app.setValid();
app.save();
}
public void createRole(String ename, String name, String parentRoleClassDN,
String manageOrgDN) throws Exception {
Role role = (Role) SecurityFactory.getBean("Role");
role.setCreateDate(new Date(System.currentTimeMillis()));
role.setDescription(name);
role.setEName(ename);
role.setValid();
role.setModifyDate(new Date(System.currentTimeMillis()));
role.setName(name);
OrganizationManager orgmgr = (OrganizationManager) SecurityFactory
.getBean("OrganizationManager");
role.setManageOrg(orgmgr.getOrgByDN(manageOrgDN));
RoleClassManager rolcmgr = (RoleClassManager) SecurityFactory
.getBean("RoleClassManager");
role.setRoleClass(rolcmgr.getRoleClassByDN(parentRoleClassDN));
// PersonManager permgr = (PersonManager) SecurityFactory.getBean(
// "PersonManager");
// role.setRoleOwner(permgr.getPersonsByName("d"));
role.setManageLevel(Constants.manageLevel.SMILE_MANAGE_LEVEL_BASE);
role.save();
}
public void ModifyRole() throws Exception {
RoleManager rolemng = (RoleManager) SecurityFactory
.getBean("RoleManager");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -