public boolean isMemberByGroup(String groupName,String userName) {
boolean isAccess = SessionServerHelper.manager.isAccessEnforced();
try {
if(isAccess) {
SessionServerHelper.manager.setAccessEnforced(false);
}
WTUser sessionUser = getUserByName(userName);
WTGroup ctsGroup = getGroupByName(groupName);
if(ctsGroup != null){
boolean isMember = OrganizationServicesHelper.manager.isMember(ctsGroup, sessionUser);
if(isMember) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
}finally {
SessionServerHelper.manager.setAccessEnforced(isAccess);
}
return false;
}
public static WTGroup getGroupByName(String groupName) {
WTGroup wtGroup = null;
try {
QuerySpec qs = new QuerySpec(WTGroup.class);
SearchCondition sc = new SearchCondition(WTGroup.class, WTGroup.NAME,
SearchCondition.EQUAL, groupName, false);
qs.appendSearchCondition(sc);
QueryResult qr = PersistenceHelper.manager.find(qs);
while (qr.hasMoreElements()) {
wtGroup = (WTGroup) qr.nextElement();
if (wtGroup.getDn() != null && wtGroup.getDn().indexOf("cn=public") >= 0) {
return wtGroup;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return wtGroup;
}
public static WTUser getUserByName(String name){
WTUser user = null;
try {
QuerySpec qs = new QuerySpec(WTUser.class);
SearchCondition sc = new SearchCondition(WTUser.class,WTUser.NAME,
SearchCondition.EQUAL, name, false);
qs.appendSearchCondition(sc);
QueryResult qr = PersistenceHelper.manager.find(qs);
if (qr.hasMoreElements()){
user = (WTUser)qr.nextElement();
}
if(user == null)
user = OrganizationServicesHelper.manager.getUser(name);
} catch (Exception e) {
e.printStackTrace();
}
return user;
}
判斷某個用戶是否在特定羣組API
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.