如何使用 PAC4J 框架中的 DbProfileService

How to use DbProfileService from PAC4J framework

我正在尝试使用来自 DB 的用户使用 PAC4J 框架实现安全层。 PAC4J文档推荐DbProfileService,但是不知道怎么用

  1. 在哪里定义呢?在 ConfigFactory 中?
    final DirectBasicAuthClient directBasicAuthClient = new DirectBasicAuthClient(new DbProfileService());
  1. 在哪里验证?我的意思是用户,密码是否正确?也许我不应该在意,它是内部完成的。

在联系了PAC4J的主人后,找到了使用方法:

  1. 您在您的数据库
  2. 中为用户创建了一个table
  3. 创建 DbProfileService 并将 DataSource 连接传递给它
  4. 您指定 table 名称,以及 Id、用户和密码列。
  5. 密码已加密,您需要说明如何(在本例中使用 SALT)

示例:

    DataSource dataSource = FeerBoxServerDB.getDatasource();
    DbProfileService dbProfileService = new DbProfileService(dataSource);
    dbProfileService.setUsersTable("restusers");
    dbProfileService.setIdAttribute("id");
    dbProfileService.setUsernameAttribute("username");
    dbProfileService.setPasswordAttribute("password");
    dbProfileService.setPasswordEncoder(new JBCryptPasswordEncoder(ServerConfigFactory.PWD_SALT));
    final DirectBasicAuthClient directBasicAuthClient = new DirectBasicAuthClient(dbProfileService);