मेरे पास दो सिस्टम हैं जिन्हें मैं एकीकृत करने की कोशिश कर रहा हूं। एक कच्चे servlets पर बनाया गया है, नया एक जेएसएफ पर IceFaces के साथ बनाया गया है। मैं क्रॉस-सिस्टम साइन ऑन को सुविधाजनक बनाने की कोशिश कर रहा हूं। विचार यह है कि मेरे पास पुरानी प्रणाली में एक बटन है जो उचित जानकारी को नई साइट पर पोस्ट करता है और उन्हें लॉग ऑन करता है।मैन्युअल रूप से एक फेस कॉन्टेक्स्ट उत्पन्न करना
अच्छा, आदर्श रूप में, मैं नई साइट पर सुविधाजनक बनाने के लिए केवल एक नियमित पुरानी सर्वलेट का उपयोग करना चाहता हूं। नई साइट के सर्वलेट पर जाएं, इसे करने की ज़रूरत है और डैशबोर्ड पर आगे बढ़ें।
हमारी सुरक्षा एक प्रबंधित बीन के माध्यम से संभाली जाती है। हालांकि, जब तक आप सर्वलेट में जाते हैं, तब तक कोई चेहरे का संदर्भ नहीं होता है। तो, मैं एक नया चेहरा संदर्भ कैसे बनाऊंगा?
मेरे पास एक बैक अप प्लान है जिसमें मैं हमेशा एक डमी से लिंक कर सकता हूं। फीस पेज जो मेरे लिए फेस कॉन्टेक्स्ट बनाएगा और उसके बाद एक बैकिंग बीन तैयार करेगा जो इसे तब तक करेगा जब इसे इंस्टेंट किया जाएगा और फिर मुख्य पृष्ठ पर अग्रेषित किया जाएगा । लेकिन यह एक हैक की तरह बहुत लगता है।
किसी भी मदद की सराहना की जाएगी!
संपादित करें: मैं बैक अप के साथ गया था। असल में, मैं बहुत की तरह एक पेज पर पोस्ट करें:
<f:view>
<ice:outputText value="#{EntryPoint}"/>
</f:view
समर्थन सेम इसलिए की तरह लग रही ...
public EntryPoint() {
try {
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
String loginID = request.getParameter("loginID");
//Do some code to load the user/permissions
response.sendRedirect(
//The appropriate page
);
} catch (IOException ex) {
logger.error(null, ex);
} catch (SQLException ex) {
logger.error(null, ex);
}
}
यह अभी भी एक हैक की तरह लगता है, लेकिन मुझे यकीन है कि चारों ओर पाने के लिए नहीं कर रहा हूँ इस। आदर्श रूप में, मैं एक सर्वलेट पर पोस्ट करता हूं, loginID प्राप्त करता हूं, उपयोगकर्ता का निर्माण करता हूं और इसे सीधे प्रबंधित बीन में डाल देता हूं। लेकिन, उस बिंदु पर FacesContext मौजूद नहीं है।
कोई अन्य विचार?
दूसरा वह जवाब है जिसे मैं ढूंढ रहा था और पहली बार मेरी बैक अप योजना थी अगर मैं पहले नहीं समझ पा रहा था। विचार यह था कि विरासत सर्वलेट साइट (इसकी स्वयं की वेबपैप और WAR फ़ाइल) उपयोगकर्ता को पोस्ट और क्रेडेंशियल के साथ नए वेबैप पर रीडायरेक्ट करेगी। क्या ऐसा करने के लिए इससे अच्छा तरीका है? – Drew