2012-04-04 2 views
5

현재 사용자 (반드시 현재 사용자는 아님)가 구성원 인 목록 그룹을 검색하기 위해 Java 메소드 (JavaBean 및 XPages 관리 Bean의 일부)를 작성 중입니다.정의 된 사용자에 대한 모든 그룹을 결정합니다.

이 정보를 쉽게 확인할 수있는 방법이 있습니까? 아니면 모든 그룹을 반복하여 사용자를 확인하고 해당 그룹이 다른 그룹의 하위 그룹인지 확인해야합니까?

답변

12

여기에 블로그 게시물이 답변 Newbs

/: http://ntf.gbs.com/nathan/escape.nsf/d6plinks/NTFN-8TMHRP

간단한 버전은 당신이 찾고있는 것은이다 ...

lotus.notes.addins.DominoServer server = new lotus.notes.addins.DominoServer("YourCanonicalServerName"); 
Collection nameList = server.getNamesList("TheUserNameYou'reLookingFor"); 

는 당신이 필요로하는 모든해야 .

+0

블로그에 언급되었지만, 아무도 그것을 확인하지 않을 경우를 대비하여. "lotus.notes.addins. *"는 문서화되지 않은 API이므로 이후 릴리스에서 작동 할 것이라는 보장은 없습니다 (또는 사용 가능할 수도 있음). 따라서 책임은 사용하십시오. –

+0

방금이 훌륭한 감사를 사용했습니다 !!!!!! – JMCooper

0

사용자 이름별로 분류 된 names.nsf의 ($ServerAccess)보기에서이 정보를 검색 할 수 있습니다.

+0

$ ServerAccess가 표시되지 않습니다. 따라서 까다로운 요구 사항에 따라 다릅니다. 그래서 $ ServerAccess로 시작해서 거기에서 일하십시오. 순환 참조가있는 경고 그룹 – stwissel

0

session.evaluate ("@UserNamesList");

+0

현재 사용자 만 작동합니다. 내 이해가 부정확하지 않으면 내 요구 사항을 충족시키지 못합니다. – JMCooper

+0

맞습니다. 나는 괄호를 읽지 않았습니다 .. –

0

여기서 (다시) LotusScript를 사용할 수 있는지 확실하지 않지만이 article (IBM DeveloperWorks, look at the 4th paragraph)은 좋은 시작입니다. NotesGroupManager 및 NotesGroup 클래스를 언급합니다. 이 클래스는 XPage 용 코드를 다시 작성하기위한 기초로 사용할 수 있습니다. 사용자가 속한 모든 그룹을 찾는 다른 "쉬운"방법은없는 것처럼 보입니다. 질문에 대한 바로 대답은 '아니오'인 것 같습니다.

0

서버의 모든 디렉토리에서 모든 그룹을 반복하면서 그룹 구성원별로 구성된 각 디렉터에서 특별한보기를 만드는 것이 좋습니다. 그것은 일치의 발견을 훨씬 더 빨리 만듭니다.

Jasper에서 언급 한 GroupManager 도구는 사용자가 원하는 대부분을 수행하는 LotusScript 코드의 좋은 예입니다. Java의 객체는 동일하지만 구문이 훨씬 더 성가시다.

3

사용이 조각 : 사용자가 그룹의 구성원 인 그룹의 구성원 인 경우

XSPContext context = XSPContext.getXSPContext(FacesContext.getCurrentInstance()); 
DirectoryUser currentUser = context.getUser(); 
Vector<String> groups = new Vector(currentUser.getGroups());