Kohana Auth Custom Driver,型号用户?

时间:2013-08-26 14:08:00

标签: authentication kohana kohana-3 kohana-orm kohana-auth

我制作了一个自定义驱动程序'Auth_MyDriver',它扩展了Auth

我在这里看了如何:http://kohanaframework.org/3.2/guide/auth/driver/develop

并且在使用此驱动程序时,它会从“test_users”而不是“users”中抓取/登录用户

现在,当我使用自定义驱动程序“MyDriverAuth::instance()->get_user()时,它会返回一个包含username的字符串。

当我使用默认的“orm”auth驱动程序并调用Auth::instance()->get_user()时,它返回一个整个对象,其中所有用户数据都从users表中获取,因此您可以调用eg {{1 }}

如何使我的自定义驱动程序像默认的orm auth驱动程序一样工作,除了它应该只是查找test_ *表(test_users,test_roles,test_roles_users)

为了做到这一点,我花了好几个小时试图找出,并且我认为它是关于模型用户的东西,我需要自定义驱动程序?

希望有任何帮助,谢谢!

更新

My MyDriver,与Auth File驱动程序具有相同的方法

Auth::instance()->get_user()->email

1 个答案:

答案 0 :(得分:1)

最后:

我只是从数据库中抓取用户,变成了一个对象并使用complete_login发送:

$user = DB::select()->from($table_name)
->where('username', '=', $username)
->as_object()->execute()->current();

if(!empty($user))
{
    if($password == $user->password)
    {
        return $this->complete_login($user);
    }
}

这样做: - )