Authentication Kohana Auth自定义驱动程序,模型用户?

Authentication Kohana Auth自定义驱动程序,模型用户?,authentication,kohana,kohana-3,kohana-orm,kohana-auth,Authentication,Kohana,Kohana 3,Kohana Orm,Kohana Auth,我制作了一个自定义驱动程序“Auth_MyDriver”,它扩展了Auth 我在这里看到了如何: 这样,当使用此驱动程序时,它从“test\u users”而不是“users”抓取/登录用户 现在,当我使用自定义驱动程序“MyDriver”时,Auth::instance()->get_user()会返回一个带有用户名的字符串 当我使用默认的“orm”身份验证驱动程序并调用auth::instance()->get_user()时,它返回一个完整的对象,其中包含所有从users表获取的用户数据,

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

我在这里看到了如何:

这样,当使用此驱动程序时,它从“
test\u users
”而不是“
users
”抓取/登录用户

现在,当我使用自定义驱动程序“
MyDriver
”时,
Auth::instance()->get_user()
会返回一个带有
用户名的字符串

当我使用默认的“
orm
”身份验证驱动程序并调用
auth::instance()->get_user()
时,它返回一个完整的对象,其中包含所有从users表获取的用户数据,因此您可以调用例如
auth::instance()->get_user()->email

如何使自定义驱动程序像默认的orm auth驱动程序一样工作,只是它应该只查找test_*表(test_用户、test_角色、test_角色用户)

我花了几个小时试图找出,我想这是关于一个模型用户的东西,我的自定义驱动程序需要这样做吗

希望有任何帮助,谢谢

更新:

MyDriver与Auth文件驱动程序具有相同的方法

public function get_user($default = NULL)
{
    return $this->_session->get($this->_config['session_key'], $default);
}
最后:

我只是从数据库中抓取用户,将其变成一个对象,然后使用完整的\u登录发送:

$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);
    }
}
这样就可以了:-)

最后:

我只是从数据库中抓取用户,将其变成一个对象,然后使用完整的\u登录发送:

$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);
    }
}

这样就可以了:-)

您是否更改了驱动程序中的
get\u user
方法和/或会话的使用?@kingkero检查我的更新,我的自定义驱动程序使用与文件驱动程序相同的get\u user()。您是否更改了驱动程序中的
get\u user
方法和/或会话的使用?@kingkero检查我的更新,我的自定义驱动程序使用与文件驱动程序相同的get_user()