إخفاء مصدر .xhtml - facelets / icefaces؟
سؤال
وأنا جديدة على Icefaces وFacelets على حد سواء، ولكن أنا استخدامها في مشروع جديد. لقد حصلت على عمل كل شيء تكوينه وتعمل بشكل جيد. ومع ذلك، عندما أزور mywebapp / file.xhtml، مصدر قالب facelets كله يأتي في متصفحي. كيف يمكن أن إخفاء هذا لمنع المستخدمين من عرض بلدي قوالب من جانب الخادم؟
المحلول
ووضع كافة القوالب إلى WEB-INF / someDirectory / القوالب.
وبعد ذلك وفقا للوثائق facelets وضع هذا داخل web.xml لجميع ملفات XHTML الأخرى:
<security-constraint>
<display-name>Restrict XHTML Documents</display-name>
<web-resource-collection>
<web-resource-name>XHTML</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>Only Let 'developer's access XHTML pages</description>
<role-name>someone</role-name>
</auth-constraint>
</security-constraint>
نصائح أخرى
في web.xml يجب أن يكون إدخال التي تمكنك من تكوين سلوك القوالب الأقسام المختلفة (عرض / اخفاء ..)
إذا قمت بنقل الملفات إلى مجلد .jsp WEB-INF (لديك لإعادة تكوين مسار التخطيط الاستراتيجي المشترك للمساهمة في المشروع)، لا يمكن الوصول إليها من خلال URL. كل J2EE خادم / Webcontainer أعرف التصرف بهذه الطريقة.
وهناك طريقة أخرى هي مكتوبة النفس عامل تصفية بريمج الخ.
ولكن، لماذا تريد إخفاء القوالب الخاصة بك؟