Tag: jsr196

如何在JASPIC中保存经过身份validation的用户?

我开发了一个安全validation模块(SAM)并实现了validateRequest方法。 我还有一个简单的webapp配置为使用此SAM。 在我的validateRequest方法中,我检查clientSubject并使用硬编码的用户名和具有硬编码组名的GroupPrincipalCallback设置CallerPrincipalCallback : final CallerPrincipalCallback callerPrincipalCallback = new CallerPrincipalCallback(clientSubject, “anonymous”); final GroupPrincipalCallback groupPrincipalCallback = new GroupPrincipalCallback(clientSubject, new String[] {“user”}); try { this.handler.handle(new Callback[] {callerPrincipalCallback, groupPrincipalCallback}); } catch (IOException | UnsupportedCallbackException e) { logger.error(e.getMessage()); } 我注意到每次刷新webapp中的servlet时,客户端主题都是空白的logger.debug(“Client: {}”, clientSubject); : 2015-05-05 11:21:02,200 DEBUG nmjsSaml2AuthModule [http-listener-1(2)] Client: Subject: 是否有可能以某种方式“保存”主题,以便主题附加到会话,我可以简单地每次都跳过登录同一个用户? 编辑我想通过手动将它存储在HttpSession找到了一种方法: req.getSession().setAttribute(“subject”, user); 不漂亮,但它的工作原理。