問題があります。私はjsf2でログインせずにユーザーがページにアクセスするのを防ぎたい。ユーザーが制限されたページのURLをブラウザに直接書き込むと、そのページは表示されません。上記のような状況が起こると、ログインページにリダイレクトする必要があります。これをプログラムで行うにはどうすればよいですか?Jsf2でログインしないで制限付きページにアクセスしないようにする
4
A
答えて
12
どのように依存していることログインをプログラムしました。セッションスコープのマネージドBeanのプロパティとしてログインしているユーザーを設定する、自社認証を使用しているようです。 Java EEではコンテナ管理によるログインが提供されているため、制限されたページへのアクセスを防止することはすでに考慮されています。すべてのあなたのセッションは、Beanのスコープ/app/*
、/secured/*
などのようにしていること、特定のURLパターンのページを制限された管理対象Bean名user
を持ってきたと仮定すると
、あなたは仕事のためfilterを使用することができます。
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);
User user = (session != null) ? (User) session.getAttribute("user") : null;
if (user == null || !user.isLoggedIn()) {
response.sendRedirect("/login.xhtml"); // No logged-in user found, so redirect to login page.
} else {
chain.doFilter(req, res); // Logged-in user found, so just continue request.
}
}
が制限されたページをカバーするURLパターンにこのフィルタの地図:doFilter()
方法で次のように実装します。
さらに、これらのページでブラウザキャッシュを無効にしておく必要があります。そうしないと、ログアウト後もエンドユーザーは引き続きブラウザのキャッシュからそのキャッシュを見ることができます。このためにフィルタを使用することもできます。あなたは同じフィルターでそれを行うことさえできます。 Browser back button doesn't clear old backing bean valuesも参照してください。
1
あなたはフィルタを書いて試してみました...あなたはログインページにユーザーをリダイレクトすることができない場合は、ユーザーがページへのアクセス権を持っている場合、すべての呼び出しがチェック傍受することができます...
関連する問題
- 1. JavaScriptログインしないで制限付きページにアクセスしないようにする
- 2. はログイン後にjsoupで制限付きページにアクセスできません
- 3. 制限付きプロトコルへのキャストがデフォルトメソッドにアクセスできない
- 4. JSF2ページからマネージドBeanメソッドにアクセスできないのはなぜですか?
- 5. ユーザーがログインしているかどうかを確認してページにアクセスできないようにする
- 6. JSF2 ManagedPropertyとしてViewScopedからSessionScoped Beanにアクセスできない
- 7. Django - ユーザーが同じ値にアクセスできないように制限する
- 8. 戻る/進むボタンを押すと制限付きページを表示しないようにする
- 9. ログインしたユーザーがDjangoバージョン1.9の 'ログイン'または 'サインアップ'ページにアクセスできないようにするにはどうすればよいですか?
- 10. ログインしたときにページにアクセスできるようにするには
- 11. Azure Data FactoryはIP制限付きVNetのHDInsightクラスタにアクセスできない
- 12. ログインしたときにページにアクセスできるようにする - Firebase Web
- 13. 制限付きアクセス
- 14. スプリングウェブセキュリティ:ログイン後にページにアクセスできない
- 15. ブートストラップカラムを無制限に拡張するにはどうしたらいいですか(上限制限なし)?
- 16. ログインしたユーザーがFlask-Loginでログインルートにアクセスしないようにする
- 17. capitalizedStringをios内の上付き文字を大文字にしないように制限できますか?
- 18. Firebaseは、ユーザーがログインしていない他のページへのアクセスを制限します。
- 19. Hybris:制限付きのユーザーがCSCockpitにログインできる
- 20. MVC - ログインしていないとサイトにアクセスできますか?
- 21. 例外:「制限されたAPIにアクセスできない」java
- 22. GitLabにログインしているユーザーにコンテンツの閲覧を制限しない
- 23. どのようにアプリケーションをiPhoneのみに制限し、iPod [iPhone SDK]に制限しないのですか?
- 24. Sitecore:ログイン画面にアクセスできない
- 25. ユーザーがログインしているときに、一部のページを利用できないようにする方法
- 26. 制限付きユーザーアクセスをサポートするログイン(openid、googleなど)
- 27. スウィフト - 無制限にアクセスするとクラッシュしない
- 28. anortherページからアクセスしたときにアクセスできないリンク
- 29. 春のmvcで安らかなWebサービスにアクセスしようとしている間に無制限の出力
- 30. Vtigerカスタムモジュール:「申し訳ありません!制限付きファイルにアクセスしようとしています。