簡體   English   中英

Java JSF應用程序,使用JAAS登錄用戶的動態角色

[英]Java JSF app, dynamic roles for logged user with JAAS

我有一個Primefaces應用程序,通過在Tomcat上運行的JAAS使用身份驗證/授權。 用戶角色和安全文件夾在web.xml中定義。 我的問題是,我需要在登錄時更改用戶角色。基本上,我需要當用戶點擊按鈕添加他的管理員角色時讓他看到/ admin文件夾中的頁面。 我找了很長時間才找到解決方案,但沒有成功。 我只能看到記錄的用戶名並檢查,如果他有這個代碼的角色:

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

我找到了一個答案,這個代碼應該工作,但我只得到null主題:

Subject.getSubject(AccessController.getContext());

是否可以更改用戶角色而無需再次登錄,如果是,我該怎么辦?

我用自動注銷/登錄用戶修復了它:

Request()方法注銷(); getRequest()。login(userName,newPassword);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM