Skip to content

关于用户认证

Jeff Zhu edited this page May 30, 2018 · 6 revisions

简介

Saturn3.0.0开始,Console支持用户登录认证。但用户注册功能不在Scope里面,这意味着用户注册需要用户自行实现。

支持的认证方式

Saturn当前支持2类认证手段:明文(plaintext)和PBKDF2WithHmacSHA1.

可以通过设置JVM property “-Dauthentication.hash”改变算法,默认是plaintext(明文)。如果authentication.hash非上述2种,会返回异常。

注意,明文仅作测试用途,不建议上生产。

用户密码与格式

在定制用户注册功能时,请务必保证用户信息持久化到数据库的user表里面。其中,password字段用于保存密码。

密码存储格式需要结合认证的方式。

如果是明文认证,则password存放的是明文。 如果是使用PBKDF2WithHmacSHA1,则格式为:

<code1>$<code2>

  • code1: 使用PBKDF2WithHmacSHA1生成的密码在经过encode后的值
  • code2: 盐encode后的值

用户注册功能实现

实现用户注册时,可以使用com.vip.saturn.job.console.utils.PasswordUtils.genPassword(password, salt, algorithm)或者com.vip.saturn.job.console.utils.PasswordUtils.genPassword(password, algorithm)方法生成密码,并持久化到数据库。其中,password是明文密码,salt是盐,algorithm即上面提到的算法。