将elgg与现有的基于身份验证的应用程序集成


Integrate elgg with existing authentication based application

我有一个现有的web应用程序,用户可以在其中注册/登录并访问他们的详细信息。现在我想将elgg与我的应用程序集成。

当用户登录到我的系统时,会有类似"elgg"的菜单可用,当用户点击该菜单时,他们可以看到elgg的社区,但无需登录。

它们可以通过我现有的应用程序进行身份验证。

请帮帮我。

您可以获得用户的用户名和密码,并使用以下代码直接在ELGG中进行身份验证并使用其功能。

//now authenticate user if not logged in
if(true===elgg_authenticate($SESSION['username'], $token_password)) {
    $user = get_user_by_username($SESSION['username']);
    try {
         login($user, $persistent = false);
         system_message(elgg_echo('loginok'));
         //if admin then redirect to administration
         if(elgg_is_admin_logged_in()) {
              forward('admin');
         } else {
              forward('dashboard');
         }
    }catch (LoginException $e) {
         register_error($e->getMessage());
         //forward(REFERER);
    }
}

您可以为Elgg编写自定义PAM处理程序,以处理集成。请参阅:http://docs.elgg.org/wiki/Engine/Authentication

除此之外,您可能希望保持帐户同步。查看创建/更新/删除用户事件。