簡體   English   中英

是否可以使用密碼腌制的容器管理身份驗證?

[英]Is it possible to use container-managed authentication with password salting?

我知道如何設置使用表單身份驗證並使用消化密碼(例如,SHA-256)的vanilla容器管理安全性。 像這樣的東西:

web.xml中

<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>

login.xhtml

<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>

非常簡單 - 但我真正希望能夠做的是用全局鹽和用戶名加密密碼。 是的,我知道這並不理想,但現在,我只是在構建一個概念驗證。

容器(GlassFish 3,在這種情況下)可以為我做這個,還是我必須編寫自己的登錄過濾器 我之前已經完成了(對於J2EE應用程序),但我的直覺告訴我,現在我必須采用更嚴格的方法來使用Java EE 6。

我覺得你正在尋找一種快速(可能是臟的)方式來修改內置身份驗證提供程序。

正確的方法是為新的JASPIC API( JSR-196 )實現自己的Java身份驗證服務提供程序。 它更費力,但是這種方法允許您以您喜歡的方式滾動實現,並且它應該與任何Java EE 6應用程序服務器兼容。

對於使用密碼salting的基本身份驗證方案,實現此類提供程序應該非常簡單。 您將不得不考慮管理用戶和密碼,但一種解決方案可能是讓您的提供商重新使用Glassfish身份驗證領域中定義的用戶,這樣您只需自己管理自定義鹽漬密碼。

有一個很好的WebSphere教程,你應該可以在這里適應Glassfish。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM