2016-06-17 12 views
1

私は、TomcatでJAASを実行する認証/認可を使用するPrimefacesアプリケーションを持っています。ユーザーロールと保護されたフォルダはweb.xmlで定義されています。私の問題は、彼がログインしている間にユーザーロールを変更する必要があるということです。基本的には、ユーザーがボタンをクリックして管理ロールを追加すると、管理者フォルダにページが表示されます。私は解決策を見つけるのに長い時間を探していましたが、成功しませんでした。彼は、このコードによって役割を持っている場合、私は、ログインユーザー名を確認し、確認することができます。Java JSFアプリケーション、JAASを使用してログオンしたユーザーの動的ロール

HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest(); 
request.getUserPrincipal(); 
request.isUserInRole("admin"); 

私はこのコードが動作する必要があることを1つの答えを見つけたが、私は唯一のヌル件名を取得:

Subject.getSubject(AccessController.getContext()); 

です再度ログインする必要なくユーザーの役割を変更することができます。もしそうなら、どうすればいいですか?

答えて

0

Iは、ユーザのログイン/ログアウト自動でそれを固定された:。

のGetRequestを()ログアウト(); getRequest()。login(userName、newPassword);

関連する問題