# 配置文件管理器

配置文件管理器(profile manager)用于处理用户配置文件:它可以用于保存或恢复它。

配置文件管理器是从 WebContext 实例化的。

# 1)检索

你可以使用 get(readFromSession) 方法只返回一个数据,使用 getAll(readFromSession) 方法检索所有数据。

你需要确定是否要从会话中读取该信息。

返回的数据的类型为 UserProfile,但至少应将其转换为 CommonProfile,以检索所有数据共享的最常见属性,或比如在 Facebook 认证的情况下将其转换成 FacebookProfile 等真实类型。

ProfileManager 也可以用配置文件类型实例化,以始终检索特定的用户配置文件类型。

ProfileManager<CasProfile> manager = new ProfileManager<CasProfile>(webContext)
CasProfile profile = manager.get(true​​).get();
1
2

# 2)自定义配置文件管理器

默认情况下,配置文件管理器是 ProfileMamager (opens new window) 组件。

在一些 pac4j 实现中,有特定的配置管理器:UndertowProfileManagerShiroProfileManager 等。

自定义配置管理器可以通过以下工厂实例化:

  • setProfileManagerFactory(final ProfileManagerFactory factory)

它可以设置在组件级别(如逻辑)或 Config 级别。

原文链接 (opens new window)