2012-04-04 10 views
5

मैं वर्तमान में एक उपयोगकर्ता समूह (आवश्यक रूप से वर्तमान उपयोगकर्ता नहीं) का एक समूह समूह पुनर्प्राप्त करने के लिए जावा विधि (भाग और प्रबंधित प्रबंधित बीन का हिस्सा) बना रहा हूं।परिभाषित उपयोगकर्ता के लिए सभी समूहों का निर्धारण

कोई आसान तरीका यह जानकारी retieve या करने के लिए है हूँ मैं उपयोगकर्ता के लिए जाँच करने के लिए है और यह भी जाँच लें कि उन समूहों अन्य समूहों के उप समूह हैं सभी समूहों के माध्यम से लूप करने के लिए जा रहे हैं?

उत्तर

12

एक ब्लॉग पोस्ट यहाँ में इस उत्तर दिया: 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। *" एक अनियंत्रित एपीआई है इसलिए कोई गारंटी नहीं है कि यह बाद में रिलीज (या यहां तक ​​कि उपलब्ध भी) में काम करेगी। तो कृपया अपने जोखिम पर उपयोग करें। –

+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) एक अच्छी शुरुआत है। यह नोट्स समूह प्रबंधक और नोट्स समूह वर्ग का उल्लेख करता है। इन कक्षाओं को XPages के लिए कोड को फिर से लिखने के आधार के रूप में उपयोग किया जा सकता है। उपयोगकर्ता द्वारा संबंधित सभी समूहों को खोजने के लिए कोई अन्य "आसान" तरीका प्रतीत नहीं होता है। सवाल का सीधा जवाब नहीं लगता है।

0

बल्कि सर्वर पर सभी निर्देशिकाओं आप समूह के सदस्यों द्वारा आयोजित प्रत्येक निदेशक में एक विशेष दृश्य बनाने के लिए पसंद कर सकते हैं के सभी समूहों के माध्यम से पाशन से। इससे मैचों की खोज बहुत तेज हो जाती है।

GroupManager जैस्पर ने उल्लेख उपकरण भी जो कि आप क्या चाहते का सबसे पूरा करता LotusScript कोड का एक अच्छा उदाहरण है। जावा में ऑब्जेक्ट्स समान हैं, सिंटैक्स बस बहुत अधिक परेशान है।

/newbs

3

उपयोग इस स्निपेट: यदि कोई उपयोगकर्ता एक समूह एक समूह के सदस्य है कि के सदस्य है

XSPContext context = XSPContext.getXSPContext(FacesContext.getCurrentInstance()); 
DirectoryUser currentUser = context.getUser(); 
Vector<String> groups = new Vector(currentUser.getGroups()); 
संबंधित मुद्दे