如何使用 PAC4J 框架中的 DbProfileService
How to use DbProfileService from PAC4J framework
我正在尝试使用来自 DB 的用户使用 PAC4J 框架实现安全层。 PAC4J文档推荐DbProfileService,但是不知道怎么用
- 在哪里定义呢?在 ConfigFactory 中?
final DirectBasicAuthClient directBasicAuthClient = new DirectBasicAuthClient(new DbProfileService());
- 在哪里验证?我的意思是用户,密码是否正确?也许我不应该在意,它是内部完成的。
在联系了PAC4J的主人后,找到了使用方法:
- 您在您的数据库
中为用户创建了一个table
- 创建 DbProfileService 并将 DataSource 连接传递给它
- 您指定 table 名称,以及 Id、用户和密码列。
- 密码已加密,您需要说明如何(在本例中使用 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);
我正在尝试使用来自 DB 的用户使用 PAC4J 框架实现安全层。 PAC4J文档推荐DbProfileService,但是不知道怎么用
- 在哪里定义呢?在 ConfigFactory 中?
final DirectBasicAuthClient directBasicAuthClient = new DirectBasicAuthClient(new DbProfileService());
- 在哪里验证?我的意思是用户,密码是否正确?也许我不应该在意,它是内部完成的。
在联系了PAC4J的主人后,找到了使用方法:
- 您在您的数据库 中为用户创建了一个table
- 创建 DbProfileService 并将 DataSource 连接传递给它
- 您指定 table 名称,以及 Id、用户和密码列。
- 密码已加密,您需要说明如何(在本例中使用 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);