我们有一个要求,其中管理用户需要在多个用户(角色:User)由管理员(角色:Admin)管理的环境中作为特定用户进行代理。
例如,如果数据库中有以下用户(admin、user1、user2、user3),我们希望管理员代理为“user2”并在某些情况下使用系统。我们的 Web 应用程序中的身份验证基于用户名/密码凭据,当管理员没有“user2”的密码时,可以使用哪些机制来代理“user2”。应用程序如何出于审计目的跟踪此类访问,以提及“admin”已代理“user2”并执行了某些操作。
我正在寻找有关在我们的 j2ee (jboss seam) Web 应用程序中支持此功能的建议。
最佳答案
您可以实现自定义身份验证方法,该方法首先检查 user_name/user_pw 如果失败,请检查 user_name/admin_pw,以便使用管理员密码可以以任何用户身份登录。
关于security - 以某个用户的代理身份登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2663017/