Tag: jaspic

如何在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); 不漂亮,但它的工作原理。

是否可以使用密码腌制的容器管理身份validation?

我知道如何设置使用表单身份validation并使用消化密码(例如,SHA-256)的vanilla容器管理安全性。 像这样的东西: web.xml中 FORM jdbc /login.jsf /login-error.jsf login.xhtml Username: Password: Submit 非常简单 – 但我真正希望能够做的是用全局盐和用户名加密密码。 是的,我知道这不是理想的,但现在,我只是在构建一个概念validation。 容器(GlassFish 3,在这种情况下)可以为我做这个,还是我必须编写自己的登录filter ? 我之前已经完成了(对于J2EE应用程序),但我的直觉告诉我,现在我必须采用更紧凑的方式来使用Java EE 6。