मेरा आवेदन एक स्टैंडअलोन स्विंग क्लाइंट है जो शास्त्रीय जेएनडीआई लुकअप और आरएमआई-IIOP विधि कॉल के लिए ईजेबी स्टेटलेस सत्र बीन्स का आह्वान करता है। इसे जावा वेबस्टार्ट एप्लिकेशन के रूप में शुरू किया गया है। मेरा उद्देश्य क्लाइंट उपयोगकर्ता की पहचान को EJBContext
से getCallerPrincipal
विधि से पुनर्प्राप्त करना है, विंडोज वर्कस्टेशन, एक्टिव डायरेक्टरी और वेबस्फेयर सर्वर के बीच केर्बेरोज एसएसओ के लिए लिनक्स पर चल रहा है।वेबस्पेयर पर रिमोट ईजेबी कॉल के लिए केर्बेरोस प्रमाणीकरण कैसे सक्षम करें?
मैं केर्बेरोस प्रमाणीकरण thanks to the infocenter documentation का समर्थन करने के लिए नेटवर्क परिनियोजन मोड में पहले से ही अपने वेबस्पेयर सेल को सफलतापूर्वक कॉन्फ़िगर कर चुका हूं।
दोनों krb5.conf
और krb5.keytab
फ़ाइलें ठीक है और दोनों लिनक्स kinit
, klist
और wsadmin
के साथ परीक्षण कर रहे हैं, $AdminTask validateKrbConfig
उत्तर देता true
।
client setup केवल कमांड सिस्टम प्रॉपर्टी के साथ सक्षम करने के लिए JAAS login.config
फ़ाइल का संदर्भ देता है। मेरा अंतर्ज्ञान मुझे बताता है कि यह शायद पर्याप्त नहीं है।
- कैसे JNDI प्रारंभिक संदर्भ वातावरण होना चाहिए सेटअप करबरोस बातचीत को गति प्रदान करने:
लेकिन अब, मैं परीक्षण का मामला अंतिम रूप देने के लिए कोई अधिक जानकारी प्राप्त?
- यदि सर्वर-साइड पर अन्य आवश्यकताएं हैं जैसे कि मेरी ईजेबी की भूमिका के साथ रक्षा करें (जेबॉस को उदाहरण के लिए इसकी आवश्यकता नहीं है)?
<property name="java.security.auth.login.config" value="C:\temp\wsjaas_client.config"/> <property name="com.ibm.CORBA.ConfigURL" value="C:\temp\sas.client.props"/>
मेरे
wsjaas_client.config
के लिए है:
अद्यतन
रूप ./launchClient
साथ JavaEE ग्राहक कंटेनर नहीं चल रहा है, मैं sas.client.props
और JAAS लॉगिन विन्यास पढ़ने के लिए मेरी JNLP आवश्यक गुण में निर्धारित किया है ओरेकल जावा में इसमें शामिल हैं:
WSKRB5Login{
com.sun.security.auth.module.Krb5LoginModule required
debug=true useTicketCache=true doNotPrompt=true;
};
मेरे sas.client.props
शामिल हैं:
com.ibm.CORBA.securityEnabled=true
com.ibm.CORBA.authenticationTarget=KRB5
com.ibm.CORBA.loginSource=krb5Ccache
com.ibm.CORBA.loginUserid=
com.ibm.CORBA.loginPassword=
com.ibm.CORBA.krb5CcacheFile=
com.ibm.CORBA.krb5ConfigFile=C:\\temp\\krb5.conf
फिलहाल, कोई Kerberos प्रमाणीकरण शुरू हो रहा है: मेरे Kerberos कैश में (या तो विंडोज या लिनक्स वर्कस्टेशन से) SPN WAS/myserver.mydomain.com
के लिए कोई TGS है और JNDI कनेक्शन अभी भी गुमनाम रूप से स्थापित है ।
कोई त्रुटि संदेश, कोई चेतावनी नहीं और आखिरकार कोई प्रिंसिपल नहीं। मैं कैसे गलत या कमी की निदान करता हूं?
अद्यतन 2012/06/20
यहाँ कुछ कदम आगे हैं।यहां तक कि बड़े हिस्से को पढ़ने के बाद
<property name="org.omg.CORBA.ORBSingletonClass" value="com.ibm.rmi.corba.ORBSingleton"/>
<property name="org.omg.CORBA.ORBClass" value="com.ibm.CORBA.iiop.ORB"/>
<property name="traceSettingsFile" value="C:\temp\TraceSettings.properties"/>
फ़ाइल TraceSettings.properties
traceFileName=c:\\temp\\traces.log
ORBRas=all=enabled
SASRas=all=enabled
com.ibm.*=all=enabled
शामिल हैं: अपने आवेदन Oracle जावा के साथ चल रहा JNLP में, मैं आईबीएम ओर्ब का उपयोग करें और पूर्ण पता लगाने और डिबग जानकारी सक्षम करने के लिए निम्नलिखित गुण निर्धारित किया है WebSphere 7 Security IBM RedBook का मैं अभी भी क्लाइंट-साइड से CSIv2 ट्रिगर केर्बेरोस प्रमाणीकरण प्राप्त करने में विफल रहा हूं।
आईबीएम के मुताबिक, इस समय आईबीओपी पर प्रमाणीकरण केर्बेरो प्रमाणीकरण प्राप्त करने के लिए आईबीएम जावाएसई 6 दोनों सिरों पर आवश्यक है। तो इसका मतलब यह हो सकता है कि यह सोलारिस पर ओरेकल जावाएसई पर चल रहे वेबस्पेयर के लिए बिल्कुल भी काम नहीं करता है लेकिन मुझे इसके बारे में संदेह है। शायद प्रत्येक तरफ एक ही JVM की आवश्यकता है - लेकिन यह मेरी वर्तमान कॉन्फ़िगरेशन नहीं है। –