سؤال

يجب تطبيق جافا وأود أن تجعل الموسعة.إلى إنشاء امتداد والمطورين في الشركة سوف أكتب فئة Java التي تطبق على واجهة معينة.قد ترغب أيضا في كتابة المرتبطة فئات المساعد.وأود أن تحميل هذه الملحقات في التطبيق دون انقطاع.

وأود إلى حد ما هذه الدرجة يمكن أن تفعل التالي:

  1. أساليب الدعوة في التطبيق API (ستكون هذه المعلمة إلى منشئ)
  2. إنشاء مثيلات من الكائنات الأخرى ضمن نفس الحزمة (حتى صاحب امتداد الدرجة يمكن استخدام الفئات الأخرى لانجاز هذه المهمة).

عندما الطبقة يتم استدعاء API الكائن الذي تم تمريره في سوف يكون بالفعل "العميل" المعرفة وتخزينها كعضو متغير.فإنه سيتم استخدام هذا للحد من الوصول عبر API إلى أن بيانات العميل.

أنا لا أريد هذه الفئات القيام بأشياء مثل الوصول إلى قاعدة البيانات والكتابة إلى القرص ، أو فعل الأشياء.... الخهذا هو الغالب جهد في إدارة التبعية و التغليف نفس فريق من المطورين الوصول إلى كتابة كل ملحقات النظام الأساسي.

هل هناك نمط هذا ؟ هل أنا على الطريق الصحيح ؟

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

المحلول

لا حاجة للبحث عن أي شيء غريب.التعامل مع هذا السيناريو هو سمة أساسية من سمات جافا الأمني.

كل فئة لديها "برنامج" الموقع الذي تم تحميله.حتى إذا كنت حزمة كل التمديد في جرة منفصلة (أو انفجرت في دليل منفصل), عليك أن تكون قادرا على خياط الأذونات الممنوحة إلى أن تعليمات البرمجة الأساسية.

في الحالة الخاصة بك ، يبدو أبسط من ذلك.إذا فهمت بشكل صحيح, جميع ملحقات لها نفس الامتيازات التي هي أقل من تلك الأم التطبيق.كما أن كل حصة تعليمات البرمجة الأساسية.

هنا مثال على سياسة الملف:

grant codeBase "file:/path/to/app/lib/*" {
  permission java.io.FilePermission "/path/to/app/-", "read";
  permission java.io.FilePermission "/path/to/app/data/-", "read,write,delete";
};

grant codeBase "file:/path/to/app/ext/*" {
  permission java.util.PropertyPermission "java.io.tmpdir", "read";
  permission java.io.FilePermission "${java.io.tmpdir}/myapp/-", "read,write,delete";
};

هذا مثال بسيط يجب أن تعمل في أي إصدار من جافا.أحدث الإصدارات تمديد سياسة بناء الجملة لمنح أذونات إلى موضوع المصادقة من قبل JAAS.

نصائح أخرى

أنا لا أعرف تفاصيل التنفيذ ، ولكن يبدو ما لديك في الاعتبار يقترب من ما Apache Tomcat الخادم بالفعل.فرد webapps في هر يتم الاحتفاظ فصل الحاجة الفردية المختلفة فئة لوادر.ربما يستحق إلقاء نظرة على المدونة هناك.

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