认证成功后获取用户资料/信息

问题描述 投票:0回答:1

我会再尝试一次,也许我会从了解 Pac4j 的人那里得到答案。

我有一个简单的问题要问 Pac4j。

我使用 Keycloak 作为身份验证提供者。

成功登录后,我想将一些信息存储在例如会话 Bean:

  • 用户信息
  • 调用一个函数,例如UserLog(用户已登录应用程序)
  • 设置语言(信息来自数据库)
  • 设置权限(权限存储在应用程序中),我需要将其设置为 Shiro 对象

我目前的主要问题是,登录后如何从Keycloak获取用户信息?

我需要更改

shiro.ini
中的任何内容吗?如果是的话,怎么办?

我的场景是:

  • 从 Keycloak 获取用户名(电子邮件地址)
  • 在我的数据库中调用一个查询来获取Keycloak用户和应用程序用户之间的映射
  • 基于我的会话 Bean 中的用户设置的一些信息....

所以最好的方法是例如在我的

shiro.ini
中定义一个类。 在课堂上我将从 Keycloak 获取用户信息(尤其是电子邮件地址)。

我该怎么做?

shiro pac4j
1个回答
0
投票

首先,您可以单独使用 pac4j,除了 Shiro 遗留应用程序之外,您不需要 Shiro。

如果您需要为您的 Web 应用程序使用适当的 pac4j 实现:https://www.pac4j.org/implementations.html

无论如何,通过 pac4j(+Shiro) 在 Keycloak 成功进行身份验证后,您将在 pac4j(+Shiro) 安全上下文中获得经过身份验证的用户。

使用 pac4j,您可以创建一个授权生成器来查询数据库并根据需要调整配置文件:https://www.pac4j.org/5.7.x/docs/clients.html#2-compute-roles-and-权限

© www.soinside.com 2019 - 2024. All rights reserved.