2012-09-24 5 views
11

मान लीजिए मेरे पास जावा सर्वर एप्लिकेशन है, जो कुछ वेब सेवाओं को लागू करता है। मान लीजिए, मैं एप्लिकेशन उपयोगकर्ताओं को प्रमाणित कर सकता हूं।जावा एप्लिकेशन में वेब सेवाओं के उपयोग को सीमित कैसे करें?

अब मैं सेवा उपयोग के लिए प्रति उपयोगकर्ता जोड़ना चाहता हूं: उदा। दर सीमा (प्रति सेकंड अनुरोध), अधिकतम अनुरोध आकार, आदि

क्या जावा में ऐसा करने के लिए "उपयोग में जाने योग्य" लाइब्रेरी है?

+1

बस स्पष्ट करने के लिए - क्या आपका मतलब पहचान आधारित सीमाएं हैं (उदाहरण के लिए उपयोगकर्ता एक्स सेवा को केवल 100 बार प्रति मिनट कॉल करने के लिए अधिकृत है)? – home

+0

हां, मेरा मतलब पहचान आधारित सीमा है। – Michael

उत्तर

1

आप क्या कर सकते हैं कि एक इंटरसेप्टर कॉन्फ़िगर करके अपाचे CXF साथ। यह page उच्च स्तर की कॉन्फ़िगरेशन का एक उदाहरण है। यह page में इंटरसेप्टर पर विवरण है। जैसा कि आप अपनी सत्यापन के साथ चाहते हैं, आप कल्पना के रूप में प्राप्त कर सकते हैं। मुझे पता नहीं है कि प्रमाणीकृत उपयोगकर्ता कैसे प्राप्त करें।

1

मुझे अभी तक ऐसा कुछ दिखने वाला नहीं है। लेकिन यदि आप जावा ईई एकीकृत सुरक्षा का उपयोग कर रहे हैं तो आप इसे अपने स्वयं के लॉगिन मॉड्यूल को लागू करने के लिए बूटस्ट्रैप कर सकते हैं जहां आप अपने वेब सेवा कोड को छूए बिना उन चेक को कर सकते हैं।

देखें http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/JAASLMDevGuide.html

1

यदि आपके पास प्रमाणीकरण/प्राधिकरण सेवा है जो आपकी सभी कॉलों के माध्यम से जाती है तो प्रति उपयोगकर्ता प्रतिबंध इसे शामिल किया जा सकता है। मुझे एक ढांचे के बारे में पता नहीं है जो आपको कस्टम कोडिंग के बिना करने की अनुमति देता है।

आदर्श रूप से इस प्रकार का तर्क सेवा के बाहर सबसे अच्छा कॉन्फ़िगर किया गया है। मुझे पता है कि ऊंट अनुरोधों की संख्या के लिए निर्मित थ्रॉटलिंग में प्रदान करता है। प्रति उपयोगकर्ता अनुरोधों की संख्या को मैप करने के लिए आप अपनी खुद की थ्रॉटलिंग नीति को परिभाषित कर सकते हैं।

1

आपको एक सरल इंटरसेप्टर क्लास बनाने की आवश्यकता है। एक onPreExecute() विधि है जहां आप अपनी कस्टम जांच डाल सकते हैं। मैंने इसे वसंत के साथ उपयोग किया है।

संबंधित मुद्दे