2009-03-19 9 views
4

私はIcefacesとFaceletsの両方に新しいですが、私はそれらを新しいプロジェクトに使用しています。私はすべての設定作業とうまく動作しています。しかし、mywebapp/file.xhtmlにアクセスすると、faceletsテンプレートのソース全体がブラウザに表示されます。ユーザーがサーバー側のテンプレートを表示できないようにするにはどうしたらいいですか? web.xmlに.xhtmlソースを非表示にする - facelets/icefaces?

答えて

4

すべてのテンプレートをWEB-INF/someDirectory/templatesに入れます。 Faceletsのドキュメントに従ってその後

は、他のすべてのXHTMLファイルのためのあなたのweb.xml内にこれを置く:

<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> 
1

あなたは、XHTMLテンプレートの動作設定でき、エントリする必要があります(表示/非表示を...)

あなたはWEB-INFフォルダに.jspというファイルを移動した場合(あなたがする必要はありJSFのjspパスを再構成する)、URLでアクセスすることはできません。この方法で私が知っているすべてのJ2EEサーバー/ Webコンテナ。

もう一つの方法は、自己書かれたサーブレットフィルタなど

しかし、なぜあなたはあなたのテンプレートを非表示にしたいんですか?

+0

を私はテンプレートは、デフォルトでは隠されていない驚いています。テンプレートは、アプリケーションの内部を公開し、それらを漏らすことはセキュリティ上の危険をもたらす可能性があります。 – Haakon

+0

テンプレートを隠す理由を尋ねる代わりに、なぜそれらを公開するか尋ねるでしょうか?ウェブサイトのテンプレートレイアウトを世界中に示す理由は何ですか? – arg20

関連する問題