我遇到一个问题,即已登录的管理员用户必须对其他授权用户进行身份验证。
例如 - 管理员用户可以对员工用户进行身份验证以更新其信息。
为此我们使用下面的代码,我们在登录时使用。
Subject mySubject = Authentication.login(handler);
ServletAuthentication.runAs(mySubject, request);
ServletAuthentication.generateNewSessionID(request);
问题 - 如果我们这样做,它会覆盖现有的ADF SecurityContext,以便即使管理员用户登录,它也只显示员工用户的模块
任何建议都会被授予。
答案 0 :(得分:1)
ServletAuthentication.generateNewSessionID(请求);
你可以试试没有这件作品吗?这告诉服务器为非管理员用户创建新会话并有效地创建新的安全上下文。这显然会覆盖现有会话,而您只需要以管理员身份登录时检查其他用户的真实性。