我正在开展一个项目,我正在尝试针对客户实施针对外部用户群的身份验证,这似乎工作正常。
最近又增加了另一项要求,即某些人(不在上述基地中)需要能够编辑部分页面内容。首先想到的是为少数编辑器启用单独的ORM / File Auth驱动程序,以便能够单独对它们进行身份验证。
是否可以在Kohana 3.2中同时使用两个Auth驱动程序?
答案 0 :(得分:1)
Kohana的Auth模块本身不支持使用两个驱动程序。
但是,您可以非常轻松地自行实施新驱动程序。您可以按照创建新驱动程序的说明进行操作,方法是复制现有驱动程序并进行修改:http://kohanaframework.org/3.3/guide/auth/driver/develop
简单的做法是将以下逻辑放在_login
方法中:
答案 1 :(得分:1)
是的,您可以一次使用不同的驱动程序。只需创建另一个实例而不是标准单例:
// default Auth
$config = Kohana::$config->load('auth');
$auth = new Auth($config);
$user = $auth->get_user();
// special Auth for administration
$config2 = Kohana::$config->load('admin_auth');
$auth2 = new Auth($config2);
$admin = $auth2->get_user();
限制:
driver
和session_key
值必须不同)。请注意,某些设置在类中定义,并且无法通过配置更改(例如,“记住”名为authautologin
的cookie)。Model_User
,Model_Token
,Model_Role
),因为它们的名称是硬编码的。但ORM驱动程序&可以使用文件驱动程序。