我制作了一个自定义驱动程序'Auth_MyDriver',它扩展了Auth
我在这里看了如何:http://kohanaframework.org/3.2/guide/auth/driver/develop
并且在使用此驱动程序时,它会从“test_users
”而不是“users
”中抓取/登录用户
现在,当我使用自定义驱动程序“MyDriver
”Auth::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
答案 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);
}
}
这样做: - )