私のweb.xmlを無視します。面白いことに私はこの作業をしていましたが、私はいくつかのばかげた変更を行いましたが、今はアクセスしていますlocalhost:8080
私は常にログインしていなくてもsecure.xhtmlを参照します。localhost:8080/secured/secure.xhtml
はうまくリダイレクトします。ウェルカムファイルは、セキュリティ制約に
2
A
答えて
7
あなたは<welcome-file>
を完全に使用していません。要求されたフォルダ(ルート/
、または/public/
または/secured/
など)にかかわらず、フォルダが要求されたときにいつでも提供する必要があるファイルの唯一のファイル名を表す必要があります。
ウェルカムファイルは、RequestDispatcher#forward()
によって実行される内部転送によって処理されます。内部転送はではなく、はセキュリティ制約を引き起こします。代わりにリダイレクトを送信する必要があります。
<welcome-file>
をより初期設定に変更します。 index.xhtml
。
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
/index.xhtml
のようにwebappのルートに1つ作成します。
が
/index.xhtml
のURLパターンにFilter
地図やdoFilter()
メソッド内response.sendRedirect("secured/secure.xhtml")
を呼び出す:あなたは/secured/secure.xhtml
に/index.xhtml
上すべての要求をリダイレクトする必要がある場合は、基本的には2つの方法があります。例えば。@WebFilter("/index.xhtml") public class IndexFilter implements Filter { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; response.sendRedirect("secured/secure.xhtml")); } // ... }
- は、順番に
externalContext.redirect("secured/secure.xhtml")
ないバッキングBeanメソッドを呼び出し/index.xhtml
で<f:event type="preRenderView">
を入れてください。例えば。@ManagedBean @ApplicationScoped public class IndexBean { public void redirect() throws IOException { FacesContext.getCurrentInstance().getExternalContext().redirect("secured/secure.xhtml"); } }
関連する問題
- 1. セキュリティ制約、ウェルカム・ファイル
- 2. JSP Tomcatのセキュリティ制約は常に
- 3. セキュリティ制約が原因で404
- 4. セキュリティ制約を伴うリクエストのフィルタリング
- 5. 逆セキュリティ制約を設定する
- 6. web.xmlファイルにセキュリティ制約を追加する方法は?
- 7. Tomcatのセキュリティ制約の設定は必須ですか?
- 8. Spring RESTアプリケーションにおけるセキュリティ制約のJava構成
- 9. GWT 2.1のRequestFactoryを使用してセキュリティ制約を処理するには?
- 10. Tomcat 7 - 複数のセキュリティ制約が機能しない
- 11. ロールメンバーシップのない認証されたユーザーのweb.xmlのセキュリティ制約
- 12. Wildflyセキュリティの制約が無視される
- 13. Springブートでweb.xmlセキュリティ制約を使用する
- 14. Java web.xmlの動的セキュリティ制約の設定
- 15. NULL制約は
- 16. カーディナリティ制約は
- 17. エピックリンクステータスに基づくカラム制約またはスプリント制約
- 18. セキュリティ制約を使用してユーザーを特定のページにリダイレクトする方法
- 19. Datastaxカッサンドラの節約セキュリティkubernetes
- 20. IPセキュリティの制限
- 21. FK制約は、MySQL
- 22. Haskellの制約は
- 23. タイプパラメータ制約はクラス
- 24. 制約レイアウト変更制約をプログラム
- 25. 制約
- 26. 制約
- 27. 制約
- 28. 制約
- 29. 制約
- 30. 制約
と
ありがとううわー!しかし、ユーザーがログインしているかどうかをチェックするのはどうですか?私は同じフィルターでこれを行う必要がありますか?これを容器から取り除いても大丈夫ですか? –
''はすでにそうしています。あなたはそれを自分で行う必要はありません。唯一のポイントは、転送の代わりにリダイレクトを実行する必要があることです。リダイレクトによって新しい要求が作成され、新しいURLでセキュリティ制約が再度トリガーされます。フォワードの場合、セキュリティ制約は、設定なしで公開されていてアクセス可能な '/'の初期URLに基づいてテストされているため、遅すぎます。 –
BalusC
フィルターに問題があります。 'security-constraint'フィルタが呼び出されていない場合は継ぎ目があります。もし' constraint'がコメントアウトされていれば動作します。おそらく、それらが/ secure/*ページ上で重複しているからでしょうか?サーバー - グラスフィッシュ3.1。時間があるなら、私を助けてください。 –