كيفية إعطاء أذونات JSP مع ملف سياسة SecurityManager في الراتنج؟

StackOverflow https://stackoverflow.com/questions/1326770

سؤال

نحن نحاول استخدام SecurityManager مع الراتنج 3.1.9 وتشغيل المشكلة التالية: ترسل Codesource.getLocation () NULL إلى JSPS المجمعة.

هذا يعني أنه لا يمكننا استخدام Codebase محدد في جملة المنحة في ملف سياستنا، على سبيل المثال:

grant codeBase "file:/path_to_resin/runtime/work/-" {
OR grant codeBase "file:/path_to_resin/webapp/JSP-source/-" {
  //...some jsp-specific permissions
};

بدلا من ذلك، يتعين علينا استخدام جملة منحة عالمية:

grant  {
  //..some jsp-specific permissions. Unfortunately, these will be applied
  //to all code!!!
};

هل هناك طريقة لجعل jsps لها رموز مناسبة؟ نود تقييد أذونات مكتبات الطرف الثالث، ولكن إعطاء أذونات JSPs الخاصة بنا. إذا لم نتمكن من تحديد JSPS في ملف السياسة، فقد نكون قادرين على القيام بذلك، أو ما رأيك؟

تحرير: ننشر JSPS كما هو، لذلك لا إعادة ترجمة لهم. قد يكون لهذا ما علاقة بهذه المشكلة.

هل كانت مفيدة؟

المحلول

حصلت على إجابة من خلال القائمة البريدية للراتنج وأعتقد أنني نشرها هنا أيضا:

يبدو أن الراتنج 3 لديه خطأ مع هذا وهناك الآن مشكلة لذلك. وبعد في الأساس الطريقة التي حاولنا أن تعمل بها، أو على الأقل يعمل على الراتنج 2. لذلك، يجب أن يعمل هذا:

grant codeBase "file:/path_to_resin/runtime/work/-" {
  //...some jsp-specific permissions
};

وقال الرصاص في الراتنج هذا: "حسنا، مدير الأمن يقتل الأداء، لذلك نحن عموما تثبطها." قد يتعين علينا إعادة النظر إذا كان من المعقول استخدام SecurityManager على الإطلاق. انظر سؤالي الآخر هل يجب علي استخدام مدير الأمان في تطبيقات الويب Java؟ لمزيد من المناقشة حول هذا الموضوع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top