# 配置文件管理器
配置文件管理器(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
# 2)自定义配置文件管理器
默认情况下,配置文件管理器是 ProfileMamager (opens new window) 组件。
在一些 pac4j 实现中,有特定的配置管理器:UndertowProfileManager、ShiroProfileManager 等。
自定义配置管理器可以通过以下工厂实例化:
setProfileManagerFactory(final ProfileManagerFactory factory)
它可以设置在组件级别(如逻辑)或 Config 级别。