gpt4 book ai didi

Java JSF 应用程序,使用 JAAS 登录用户的动态角色

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:39 25 4
gpt4 key购买 nike

我有一个 Primefaces 应用程序,通过 Tomcat 上运行的 JAAS 使用身份验证/授权。用户角色和安全文件夹在 web.xml 中定义。我的问题是,我需要在他登录时更改用户角色。基本上,当用户单击按钮添加他管理员角色时,我需要让他看到/admin 文件夹中的页面。我花了很长时间寻找解决方案,但没有成功。我只能查看记录的用户名并通过以下代码检查他是否具有角色:

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

我找到了一个答案,该代码应该可以工作,但我只得到空主题:

Subject.getSubject(AccessController.getContext());

是否可以更改用户角色而无需再次登录,如果可以,我该如何操作?

最佳答案

我通过自动注销/登录用户修复了这个问题:

getRequest().logout();getRequest().login(用户名, 新密码);

关于Java JSF 应用程序,使用 JAAS 登录用户的动态角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37877079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com