我正在开发一个项目,我正在尝试为客户实施针对外部用户群的身份验证,这似乎工作正常。
最近增加了另一个要求,即某些人(不在上述基地中)需要能够编辑部分页面内容。首先想到的是为这几个编辑器启用单独的 ORM/File Auth 驱动程序,以便能够分别对它们进行身份验证。
在 Kohana 3.2 中是否可以同时使用两个 Auth 驱动程序?
我正在开发一个项目,我正在尝试为客户实施针对外部用户群的身份验证,这似乎工作正常。
最近增加了另一个要求,即某些人(不在上述基地中)需要能够编辑部分页面内容。首先想到的是为这几个编辑器启用单独的 ORM/File Auth 驱动程序,以便能够分别对它们进行身份验证。
在 Kohana 3.2 中是否可以同时使用两个 Auth 驱动程序?
Kohana 的 Auth 模块本身不支持使用两个驱动程序。
但是,您可以非常轻松地自己实现一个新的驱动程序。您可以按照说明通过复制现有驱动程序并修改它来创建新驱动程序,此处: http: //kohanaframework.org/3.3/guide/auth/driver/develop
简单的做法是将以下逻辑放入您的_login
方法中:
是的,您可以同时使用不同的驱动程序。只需创建另一个实例而不是标准单例:
// 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
值必须不同)。请注意,某些设置是在类中定义的,不能通过配置更改(例如,“记住”cookie named authautologin
)。Model_User
, Model_Token
, Model_Role
),因为它们的名称是硬编码的。但是可以使用 ORM 驱动程序和文件驱动程序。