validate_user($username_or_email = '', $password = '')
validate_user 方法验证使用者凭证。此方法支援 Email 和使用者名称做为有效凭据。
静态 | 是 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
回传 | 混合。false 如果使用者没通过验证,或一个有该使用者资讯的阵列,如果凭证有效的话。 | |||||||||
範例 |
|
这个方法只验证所给的使用者名称及密码的组合是否正确。它不登入使用者!
如 Auth 套件中的 简介 所述,一套认证系统有三种不同的驱动, 每一种处理系统的一部分:
Simpleauth login 驱动提供了建立、更新、删除和验证储存在本地资料库表的使用者帐号、 取得关于那些帐号的资讯、产生或重设密码、 以及登入和登出操作(建立一个使用者 session)的逻辑。
Simpleauth group 驱动在 simpleauth 配置档案中储存其群组定义。 它提供检查使用者是否为群组中一员的逻辑,并且检索群组资讯,或定义给群组的角色。
Simpleauth acl 驱动是角色驱动的,并在 simpleauth 配置档案储存其 ACL 定义。 它提供检查使用者是否有存取 ACL 具名权限的逻辑。
如同简介中所解释,Auth 套件提供一个静态介面让大多数方法可用,只提供你单一驱动组。 这些方法会在以下被定义为「静态:是」。所有方法也可以经由 Auth 实例物件鍊结存取, 包括那些标记为静态的。
validate_user 方法验证使用者凭证。此方法支援 Email 和使用者名称做为有效凭据。
静态 | 是 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
回传 | 混合。false 如果使用者没通过验证,或一个有该使用者资讯的阵列,如果凭证有效的话。 | |||||||||
範例 |
|
这个方法只验证所给的使用者名称及密码的组合是否正确。它不登入使用者!
login 方法执行一个登入请求。如果有参数没给,它会试图从 post 资料检索, 使用配置在 simpleauth.php 配置档案中的表单栏位名称。 在尝试登入之前,内部它呼叫 validate_user() 方法来验证请求。
静态 | 是 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
回传 | 布林。回传 true 如果登入成功,否则是 false。 | |||||||||
範例 |
|
在成功登入后,'username' 和目前的 'login_hash' 将可用做一个 session 变数。
check 方法检查是否存在登入的使用者。
静态 | 是 |
---|---|
参数 | 无 |
回传 | 布林。回传 true 如果存在登入的使用者,否则是 false。 |
範例 |
|
force_login 方法执行一个强制登入请求。你可以用它来自动登入, 在你知道使用者 ID,但不知道密码时。例如,这可被用做一个「记住我」功能。
静态 | 是 | ||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
回传 | 布林。回传 true 如果登入成功,否则是 false。 | ||||||
範例 |
|
logout 方法登出目前登入的使用者。
静态 | 是 |
---|---|
参数 | 无 |
回传 | 布林。回传 true 如果登入成功,否则是 false。 |
範例 |
|
如果你已经启用支援访客使用者,访客使用者将在成功登出之后被设置。
create_user 能让你在使用者资料表建立一笔新的使用者纪录。
静态 | 是 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
| ||||||||||||||||||
抛出 | SimpleUserUpdateException | ||||||||||||||||||
回传 | 混合。回传建立使用者纪录的 ID,或 false 如果建立失败。 | ||||||||||||||||||
範例 |
|
update_user 方法能让你更新使用者纪录中的值, 无论是具名的,或目前登入的使用者。
静态 | 是 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
抛出 | SimpleUserUpdateException | |||||||||
回传 | 布林。回传 true 如果行被更新,或 false 如果没有行被影响。 | |||||||||
範例 |
|
这个方法主要是提供给使用者更新个人资料。并且做为安全措施,它不允许你变更使用者名称, 而且如果你想变更密码,你必须在 $values 中传递目前密码做为 "old_password"。
change_password 方法能让你变更一个使用者密码。
静态 | 是 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
| ||||||||||||
抛出 | SimpleUserUpdateException | ||||||||||||
回传 | 布林。回传 true 如果密码被变更,或 false 如果就密码不正确。 | ||||||||||||
範例 |
|
这个方法是提供给使用者变更他的密码。并且做为安全措施, 你 必须 在 "old_password" 传递目前密码。
reset_password 方法能让你指派一个新的随机密码给使用者。
静态 | 是 | ||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
抛出 | SimpleUserUpdateException | ||||||
回传 | 字串,产生的随机密码。 | ||||||
範例 |
|
delete_user 方法能让你删除一个使用者帐号。
静态 | 是 | ||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
抛出 | SimpleUserUpdateException | ||||||
回传 | 布林。回传 true 如果使用者帐号被删除,或 false 如果失败的话(因为使用者名称不存在)。 | ||||||
範例 |
|
create_login_hash 方法为目前登入使用者产生一个新的登入杂凑。
静态 | 是 |
---|---|
参数 | 无 |
回传 | 字串,产生的登入杂凑。 |
範例 |
|
这个方法通常用在使用者登入,但你可以使用它定期转动登入使用者的杂凑, 来做为额外的安全措施。
请注意,登入杂凑保护在多个登入启用时不会使用!
get 方法是使用者特性的通用 getter,无论是从使用者纪录,或是从诠释资料。
静态 | 是 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
回传 | 混合。 | |||||||||
範例 |
|
get_user_id 方法回传一个包含驱动 ID 值、以及目前登入使用者 ID 的阵列结构。 它使用这个结构因为你可以有多个活跃的 login 驱动, 每一个可以对目前登入使用者有不同 ID。
静态 | 是 |
---|---|
参数 | 无 |
回传 | 混合。回传一个 array([0]=>driver_id, [1]=>user_id) 形式的数字阵列如果使用者登入的话,否则是 false。 |
範例 |
|
如果启用访客登入支援,你将永远取不到 false 回传,因为该方法将回传访客使用者的使用者 ID。
get_groups 方法回传指派给目前登入使用者的群组。
静态 | 是 |
---|---|
参数 | 无 |
回传 | 混合。回传一个 array(array(driver, group_id)) 形式的阵列如果使用者登入的话,否则是 false。 |
範例 |
|
如果启用访客登入支援,你将永远取不到 false 回传,因为该方法将回传访客使用者的群组资讯。
get_email 方法回传指派给目前登入使用者的 Email 地址。
静态 | 是 |
---|---|
参数 | 无 |
回传 | 混合。回传一个 Email 地址如果使用者有登入,或 false 如果没有使用者登入。 |
範例 |
|
如果启用访客登入支援,你将永远取不到 false 回传,因为该方法将回传访客使用者的 Email 地址。
get_screen_name 方法回传目前登入使用者的萤幕或显示名称。
静态 | 是 |
---|---|
参数 | 无 |
回传 | 混合。回传包含名称的字串,或 false 如果没有使用者登入。 |
範例 |
|
如果启用访客登入支援,你将永远取不到 false 回传,因为该方法将回传访客使用者的使用者名称。
get_profile_fields 方法回传登入使用者的一个或所有储存个人设定栏位。
静态 | 是 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
回传 | 混合 | |||||||||
範例 |
|
member 方法能让你检查使用者是否为所给群组的一员。
静态 | 是 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
回传 | 布林。true 如果使用者是群组成员,否则是 false。 | |||||||||
範例 |
|
groups 方法能让你取回所有定义的群组,或所有定义在指定驱动中的群组。
静态 | 是 | ||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
回传 | 阵列。如果 group 驱动不存在或没定义群组,会回传空阵列。 | ||||||
範例 |
|
如果你想要透过指定驱动定义群组,你需要在 Auth group 驱动实例呼叫此方法。
如果你使用多个驱动,此方法只适用于如果群组 ID 在所有驱动确实是唯一的!
roles 方法能让你取回所有定义的角色,或所有定义在指定驱动中的角色。
静态 | 是 | ||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
回传 | 阵列。如果 acl 驱动不存在或没定义角色,会回传空阵列。 | ||||||
範例 |
|
如果你想要透过指定驱动定义群组,你需要在 Auth acl 驱动实例呼叫此方法。
如果你使用多个驱动,此方法只适用于如果角色 ID 在所有驱动确实是唯一的!
get_name 方法能让你取回指定群组的名称。如果没给 group, 它会回传目前登入使用者的群组名称。
静态 | 否 | ||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
回传 | 混合。群组名称,或 null 如果所给群组 ID 不存在。 | ||||||
範例 |
|
如果你使用多个驱动,此方法只适用于如果群组 ID 在所有驱动确实是唯一的!
has_access 方法能让你检查目前登入的使用者,是否有存取指定位置的指定权限。
静态 | 是 | ||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
回传 | 布林。true 如果使用者可存取,否则为 false。 | ||||||
範例 |
|
guest_login 能让你检查访客存取是否启用。
静态 | 是 |
---|---|
参数 | 无 |
回传 | 布林。回传 true 如果支援访客启用,否则是 false。 |
範例 |
|
remember_me 方法能让你设定一个 remember_me cookie。如果没给 $user_id,会使用目前登入的使用者。
静态 | 是 | ||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
回传 | 布林。回传 true 如果记住我 cookie 有正确设定,或 false 如果没有 user_id 存在,或 remember_me 功能在配置中被停用。 | ||||||
範例 |
|
dont_remember_me 方法销毁 remeber_me cookie,如果存在的话。
静态 | 是 |
---|---|
参数 | 无 |
範例 | 範例见 remember_me() |