1. اكتب SessionFilter.Scala رمز
package filtersimport javax.inject. تطبيق (nextFilter: requestHeader => المستقبل [النتيجة]) (requestHeader: requestHeader): المستقبل [النتيجة] = {if (! requestHeader.session.get ("user"). isDefine &&! Future.scecessful (results.redirect (Routes.SignController.showsignin ()))} آخر {nextFilter (requestHeader)}}}يوضح:
! requestHeader.session.get ("المستخدم").
! requestHeader.path.contains ("/signin") يستخدم لاستبعاد صفحة تسجيل الدخول. يجب أن تكون هذه الصفحة مرئية إذا لم يتم تسجيل الدخول ، لمنع قفزة حلقة ميتة.
! requestHeader.path.contains ("/acsets/") يستخدم لاستبعاد ملفات الموارد الثابتة ، مثل الصور ، CSS ، JavaScript ، إلخ.
2. استخدم SessionFilter في Filters.scala في دليل التطبيق
ملف Filters.scala هو قالب تم إنشاؤه تلقائيًا بواسطة Activater. لاستخدام SessionFilter ، فقط أضف SessionFilter: SessionFilter و Seq (SessionFilter) إليه.
استيراد javax.inject._import مرشحات. {examplefilter ، sessionfilter} استيراد play.api._import play.api.http.httpfiltersimport play.api.mvc ._/*** هذه الفئة تقوم بتكوين المرشحات على كل طلب. يتم الاستعلام عن هذا الفئة * عن طريق اللعب للحصول على قائمة المرشحات. * * سوف يستخدم التشغيل تلقائيًا مرشحات من أي فئة تسمى * "المرشحات" التي يتم وضعها في حزمة الجذر. يمكنك تحميل المرشحات * من فئة مختلفة عن طريق إضافة إعداد "play.http.filters` إلى ملف تكوين` application.conf`. * * param env إعدادات البيئة الأساسية للتطبيق الحالي. * param examplefilter مرشح عرض توضيحي يضيف رأسًا إلى * كل استجابة. */ @singletonClass Filtersenject () (ENV: Environment ، examplefilter: examplefilter ، SessionFilter: SessionFilter) يمتد httpfilters {override val filters = {// استخدم مرشح المثال إذا كنا ندير وضع التطوير. إذا // نحن ندير في وضع الإنتاج أو الاختبار ، فلا نستخدم أي مرشحات // على الإطلاق. if (env.mode == mode.dev) seq (examplefilter) else seq.empty seq (sessionfilter)}}ما سبق هو المحرر الذي تم تقديمه للعب من أجل Scala لتنفيذ تصفية SessionFilter. المستخدمون الذين لم يسجلوا الدخول إلى صفحة تسجيل الدخول. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!