मैंने अपने मुख्य व्यवसाय तर्क हैंडलर से पहले ही मेरे सर्वर पाइपलाइन में ExecutionHandler
को दस्तावेज में अनुशंसित किया था।अपाचे शिरो एकीकरण और नेटी एक्जिक्यूशन हैंडलर/ऑर्डर्ड मेमरीएवेयर थ्रेडपूलएक्सएटर
मैं सुरक्षा के लिए अपाचे शिरो http://shiro.apache.org/ का उपयोग कर रहा हूं। यह ठीक काम करता है जब तक कि मैंने ExecutionHandler
जोड़ा।
मुद्दा:
Shiro को फांसी संदर्भ वर्तमान धागा है जिसमें आप Subject
वस्तु प्राप्त करने के लिए बाध्य है। इसलिए, यदि Subject
कार्यकर्ता थ्रेड में प्राप्त किया गया है, लेकिन व्यवसाय तर्क अलग ExecutionHandler
प्रबंधित थ्रेड में निष्पादित होता है तो दो निष्पादन संदर्भों को शिरो से संबंधित नहीं किया जाएगा। इस प्रकार ExecutionHandler
धागे में शिरो इस बात से अवगत हो जाएंगे कि Subject
वास्तव में प्रमाणित है। तो मुझे प्रमाणीकरण त्रुटियां मिल रही हैं।
को Runnable
के साथ Executor.execute()
पर जाने से पहले को जोड़ना संभव है ताकि सुरक्षा संदर्भ बनाए रखा जा सके। देखें: http://shiro.apache.org/subject.html
आधार पर यह मुझे लगता है कि वर्तमान Shiro Subject
ExecutionHandler
Runnable
के साथ संबद्ध करने के लिए एक रास्ता खोजने की जरूरत है पर।
मैं अभी भी ExecutionHandler
और OrderedMemoryAwareThreadPoolExecutor
कार्यान्वयन को पूरी तरह से समझने की कोशिश कर रहा हूं।
मूल रूप से मुझे subject.associateWith(aRunnable)
पर कॉल करने की आवश्यकता है aRunnable
Executor.execute(aRunnable)
पर पास हो गई है।
क्या किसी के पास विचार है कि मैं शिरो को मिश्रण में कहां लगा सकता हूं?
धन्यवाद, मैट
यह देखना दिलचस्प होगा कि आपने शिरो और नेटटी को कैसे एकीकृत किया। यदि यह ओपनसोर्स है, तो क्या आप लिंक साझा कर सकते हैं? शायद इसे एक जिथब गिस्ट के रूप में पेस्ट करें। – Abe