問題があります。私は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. JSF2ページからマネージドBeanメソッドにアクセスできないのはなぜですか?
- 2. JSF2 ManagedPropertyとしてViewScopedからSessionScoped Beanにアクセスできない
- 3. 戻る/進むボタンを押すと制限付きページを表示しないようにする
- 4. ログインしたときにページにアクセスできるようにするには
- 5. ブートストラップカラムを無制限に拡張するにはどうしたらいいですか(上限制限なし)?
- 6. MVC - ログインしていないとサイトにアクセスできますか?
- 7. 例外:「制限されたAPIにアクセスできない」java
- 8. どのようにアプリケーションをiPhoneのみに制限し、iPod [iPhone SDK]に制限しないのですか?
- 9. 制限付きユーザーアクセスをサポートするログイン(openid、googleなど)
- 10. ユーザーがログインしているときに、一部のページを利用できないようにする方法
- 11. Vtigerカスタムモジュール:「申し訳ありません!制限付きファイルにアクセスしようとしています。
- 12. 認証なしでページにアクセスできない
- 13. FxCopがGotDotNetにアクセスできないようにします
- 14. 制限付き動画をサイトにアップロードしないようにするにはどうすればよいですか?
- 15. 制限付きアクセス許可を使用して安全なMSSQLログインを作成する
- 16. EFユーザーがDbContextにアクセスしないように制限し、集約ルートの子を追加する方法
- 17. Cookieから有効期限にアクセスできないようですか?
- 18. リモートでデータを入力している間にExcelが終了しないように制限する方法
- 19. Ruby on Rails - ユーザーがログインしていないときにユーザーをログインさせないようにする
- 20. ログインしていないメンバーが特定のページにアクセスするのを防ぐ
- 21. ファイルをダウンロードできるようになる前に、まずページにログインしてください
- 22. ログインしたユーザーがasp.netのログインページにアクセスできないようにするmvc 5
- 23. 変更セットをデフォルト(Mercurial)にプッシュしないように制限する
- 24. NumericStepperにマイナス記号を含めるように制限できないのはなぜですか?
- 25. C#でCドライブにアクセスするようにユーザーを制限しますか?
- 26. CSS:どのように大きな(より制限の少ない)値
- 27. ログインを制限するにはどうすればいいですか?
- 28. Javaのクラスの外部にアクセスしないように変数を制限する方法は?
- 29. データベースにログインできない
- 30. 名前付きスコープを使用して空白でないレコードにレコードを制限するにはどうすればよいですか?