我们如何使用带有Bcrypt密码的文件作为身份验证源对JAAS进行身份验证?

时间:2016-04-20 12:14:24

标签: authentication bcrypt jaas properties-file

对于我们产品的演示版,我们目前使用名为FileLogin的第三方com.tagish.auth.FileLogin模块插入JAAS。此LoginModule最初于2005年添加,仍然使用MD5来保护密码。从中读取的文件格式为:

Username:Password_MD5[:Role][:Role]...

由于此LoginModule未在实时环境中使用(我们强制用户在实时环境中使用LDAP,这会禁用FileLogin LoginModule),因此我们还没有看到需要更改此内容。但是,将未加密的MD5用于密码并不是最佳选择,可能会使我们处于不太理想的状态,特别是因为属性文件可以自由访问。我们正在研究如何维护.properties文件的使用(因为这些文件很容易为试用目的添加新用户),但也使用Bcrypt进行密码散列。

我们对此的希望是:

  1. 最好,我们希望找到一个现有的解决方案,使用Bcrypt实现基于文件的身份验证,我们可以用需要最少更改的FileLogin类替换它。
  2. 如果无法做到这一点,我们已经找到了我们目前使用的FileLogin模块的源代码,可以在Github上公开获得(https://github.com/tauceti2/jaas-rdbms)。这个想法是我们更新此源代码以使用JBCrypt库或类似的支持Bcrypt。这似乎不是一项非常复杂的任务,但需要额外的维护。
  3. 我们宁愿不创建自己的LoginModel实现,因为这是一个非常复杂且涉及的过程,我们无法确定我们的解决方案是否仍然无错误。
  4. 我们已尝试向Google寻求解决方案,但未找到任何符合我们需求的现有解决方案。有解决方案,但它们通常是JBoss,Karaf等大型项目的一部分......所以它们不能轻易地满足我们的需求。

    我们最好的选择是调整我们现有的解决方案,使用我们找到的源代码来支持bcrypt。首先,我们想检查SO社区是否有更好的想法。

    在这里调整jaas-RDBMS源代码是最好的选择吗?

0 个答案:

没有答案