سؤال

ما هو أفضل حل أمنية للكراميل بين ACEGI و JSECURITY و Stark Security؟

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

المحلول

JSecurity في الواقع أصبح مشروع أباتشي تحت الاسم أباتشي كي منذ فترة ولم تكن راضية عن تغيير الاسم لسبب ما وقاموا بتغييره إلى أباتشي شيرو بعد ذلك بوقت قصير. ايضا ستارك هو مجرد غلاف إضافي لـ Grails أمن الربيع و Acegi هو أصل مشروع أمن الربيع.

إذن أي واحد لاستخدامه؟

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

ثانيًا, ، إنها طريقة تصرف إطار الأمن في الواقع أمر مهم للغاية ، ويجب أن يكون قادرًا على تمكينك من القيام بمخططك المفضل لتأمين طلبك. على سبيل المثال ، بينما يحب بعض الأشخاص طريقة عمل شيرو (انظر هذا البرنامج التعليمي, ، esp. الجزء تحت العنوان "QuickStart.java") لم يتمكن الآخرون من العيش بدون أشياء ربيع الربيع الربيعة وما إلى ذلك. تحتاج في الأساس إلى تجربة كليهما ومعرفة ما إذا كانوا يلبيون احتياجاتك من وجهة نظر قابلية الاستخدام.

ثالثا, ، تأكد من الأمن الفعلي! أمن الربيع يمكن أن يكون الحجر الصحي ليكون آمنًا ، شيرو هو على الأرجح آمن لأنه لا يوجد اعتماد واسع النطاق يخفي المشكلات الأمنية بسهولة ، انظر على سبيل المثال نقاط الضعف Firefox لمعرفة كيف تبدأ قاعدة المستخدمين في التأثير على الأمان الفعلي للتطبيق على المدى الطويل.

لإنهاء هذا ، إذا اضطررت إلى الاختيار لك ، فأختار أمان الربيع لأنه يستخدم على نطاق واسع ، فمن الحجر الصحي أن يكون آمنًا ومدمجًا بالفعل مع الكأس. JSecurity/Ki/Shiro ليس سيئًا على الإطلاق وقد استخدمته لفترة من الوقت ، ولكن في الوقت الحالي ، يكون ذلك في حالة من النسيان لمن يعرف السبب وإطار الأمن غير المقبول.

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

نصائح أخرى

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

ما أقنعني أخيرًا هو ذكيا البرنامج المساعد ، وهو طبقة من واجهة المستخدم فوق شيرو. يتيح لك إدارة المستخدمين والأدوار والمجموعات وإنشاء حساب الخدمة الذاتي والبريد الإلكتروني وما إلى ذلك ... ومن السهل الاندماج في تطبيقك. كان عدم الاضطرار إلى كتابة كل هذا الرمز فوزًا كبيرًا بالنسبة لي. كما يسمح بالتكامل مع OpenID و Facebook وغيرها.

إذا عملت Nimble في SpringSecurity ، فمن المحتمل أن أختارها ، لكنني رأيتها بمثابة فوز كبير بالنسبة لي.

لقد استخدمت كل من الأطر وأحب الطريقة التي يعمل بها شيرو بالمقارنة مع نهج الربيع. لا أعرف لماذا يحظى أمن الربيع بشعبية كبيرة. على عكس Shiro ، يعمل Spring Security في جميع أنحاء التطبيق عند الحاجة إلى التكوين. أليس الأمان مصدر قلق متقاطع لمعظم التطبيقات؟ إذا كان الأمر كذلك ، ألا يكون "رمز نظافة" لعزله إلى موقع واحد؟ سنتى.

الرجال شكرا لردودكم. لقد حاولت بالفعل أمن الربيع على تطبيق Grails. المكون الإضافي Grails يجعله سهل الاستخدام.

مع تحياتي.

جوش

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