हम एक "उद्यम" उत्पाद में स्क्रिप्ट योग्य तत्व प्रदान करने का प्रयास कर रहे हैं। हम ग्रोवी का उपयोग करना चाहते हैं लेकिन हमें बहुत ही बुनियादी चीजों को सुरक्षित करने में कठिनाई हो रही है।जावा में अविश्वसनीय ग्रोवी स्क्रिप्ट सुरक्षा
उदाहरण के लिए, हम केवल
Class.forName("my.company.internal.SecruityTools").runAsAwesome(...)
जा रहा हम एक नीति है कि केवल accesDeclaredMembers
अनुमति देता है और checkPackageAccess
विधि ओवरराइट कर दिया है और केवल अनुमति देते हैं श्वेतलिस्ट संकुल के साथ एक सुरक्षा प्रबंधक स्थापित किया है से एक ग्राहक को रोकने के लिए चाहते हैं । दुर्भाग्यवश, डिफ़ॉल्ट क्लासलोडर श्रृंखला केवल इसे बाईपास करने लगती है, और वर्ग को किसी भी प्रकार लोड करता है।
यह इस तरह लग रहा है एक बहुत ही आम/चर्चा की समस्या है, लेकिन मैं नहीं मेरे जीवन के लिए कैसे नीचे एक बहुत बड़ी आवेदन के संदर्भ में साथ अविश्वसनीय लिपियों लॉक करने के लिए पर एक पुस्तकालय या यहां तक कि एक अच्छा ब्लॉग पोस्ट पा सकते हैं होगा ।
क्या किसी ने यह सफलतापूर्वक किया है? क्या मैं कुछ स्पष्ट पदों/अवधारणाओं को याद कर रहा हूं? क्या इसके लिए पहले से ही एक ठोस पुस्तकालय है? शायद Groovy.tinFoilHatMode(true)
?
शायद [इसी तरह के एक प्रश्न पर यह उत्तर] (http://stackoverflow.com/a/6490674/274466) कुछ सहायता है? उत्तर [इस ब्लॉग पोस्ट] (http://www.jroller.com/melix/entry/customizing_groovy_compilation_process) को इंगित करता है, जो इस तरह की चीज़ को रोकने के लिए एक व्यावहारिक तंत्र प्रदान करता है ... – ig0774
यदि मुझे गलत नहीं है, तो वहां हैं कुछ गतिशील भाषा विशेषताएं जो किसी भी प्रकार की एएसटी सुरक्षा को रोक सकती हैं। ऑब्जेक्ट की तरह कुछ। ("जीई" + टी "+" क्लासलोडर ")।" Fo "+ $ rname या उस तरह मूर्खतापूर्ण। –
@ एंबियंस क्या आपने ig0774 द्वारा सुझाई गई प्रक्रियाओं का प्रयास किया है? मुझे विश्वास नहीं है कि आप उन्हें बच सकते हैं आपके जैसे चालें सुझाव देते हैं, और यदि आप कर सकते हैं, तो यह कुछ ऐसा है जो ग्रोवी टीम एएसएपी को वापस रिपोर्ट किया जाना चाहिए। –