Java 是否可以将容器管理的身份验证与密码绑定一起使用?

Java 是否可以将容器管理的身份验证与密码绑定一起使用?,java,jsf,jakarta-ee,jsf-2,jaspic,Java,Jsf,Jakarta Ee,Jsf 2,Jaspic,我知道如何设置香草容器管理的安全性,该安全性使用表单身份验证和摘要密码(比如SHA-256)。大概是这样的: web.xml 但现在,我只是在建立一个概念证明 容器(玻璃鱼3,在这种情况下)可以为我这样做,还是我必须这样做?我以前做过(针对J2EE应用程序),但我的直觉告诉我,现在我正在使用JavaEE6,必须有一种更严格的方法来做这件事。我感觉您正在寻找一种快速(可能是肮脏的)方法来修改内置身份验证提供程序 正确的方法是为新的jaspicapi()实现您自己的Java身份验证服务提供者。这更

我知道如何设置香草容器管理的安全性,该安全性使用表单身份验证和摘要密码(比如SHA-256)。大概是这样的:

web.xml

但现在,我只是在建立一个概念证明


容器(玻璃鱼3,在这种情况下)可以为我这样做,还是我必须这样做?我以前做过(针对J2EE应用程序),但我的直觉告诉我,现在我正在使用JavaEE6,必须有一种更严格的方法来做这件事。

我感觉您正在寻找一种快速(可能是肮脏的)方法来修改内置身份验证提供程序

正确的方法是为新的jaspicapi()实现您自己的Java身份验证服务提供者。这更费劲,但这种方法允许您以任何喜欢的方式滚动实现,并且应该与任何JavaEE6应用服务器兼容

对于带有密码盐析的基本身份验证方案,实现这样的提供者应该非常简单。您必须考虑管理用户和密码,但一种解决方案是让您的提供商重新使用Glassfish身份验证领域中定义的用户,这样您只需自己管理自定义的salt密码


WebSphere有一个很好的教程,您应该能够适应Glassfish。

WebSphere教程已经移动:所有默认安全领域都忽略了对密码进行加密,还有人对此感到惊讶吗?除了滚动您自己的登录模块之外,似乎还没有一种简单的方法来添加密码?
<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>jdbc</realm-name>
    <form-login-config>
        <form-login-page>/login.jsf</form-login-page>
        <form-error-page>/login-error.jsf</form-error-page>
    </form-login-config>
</login-config>
<form action="j_security_check">
    <p><label>
        Username:<br/>
        <input type="text" name="j_username" />
    </label></p>
    <p><label>
        Password:<br/>
        <input type="password" name="j_password" />
    </label></p>
    <p>
        <button type="submit">Submit</button>
    </p>
</form>