zerig / user-manager
管理用户类
v1.0.0
2020-04-26 18:53 UTC
Requires
- php: >=5.6.0
- zerig/sql-manager: @dev
This package is auto-updated.
Last update: 2024-09-27 06:29:11 UTC
README
- 需要 \SqlManager\Mysql 类与用户账户协同工作
首先你需要
$GLOBALS["mysql"] = new \SqlManager\Mysql([ "server_name" => "localhost", "db_user" => "root", "db_pass" => "", "db_name" => "test" ]); $GLOBALS["mysql"]->multi_query(" CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_type_id` smallint(2) DEFAULT NULL, `login` varchar(150) COLLATE utf8_czech_ci NOT NULL, `password` varchar(150) COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `login` (`login`), KEY `user_type_id` (`user_type_id`), CONSTRAINT `user_ibfk_2` FOREIGN KEY (`user_type_id`) REFERENCES `user_type` (`id`) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; INSERT INTO `user` (`id`, `user_type_id`, `login`, `password`) VALUES (1, 1, 'zerig', '$2y$15$"."u55Iz2kebEpW01bMLYYcReBGy5ZHoFvmRQyeaerGp0f8GnMLrbJEq'); CREATE TABLE `user_type` ( `id` smallint(2) NOT NULL AUTO_INCREMENT, `name` varchar(150) COLLATE utf8_czech_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; INSERT INTO `user_type` (`id`, `name`) VALUES (2, 'editor'), (1, 'admin'); ");
$GLOBALS["user"] = new \UserManager\User(); $GLOBALS["user"]->login("zerig", "123456"); public $id => 1 public $user_type_id => 1 public $user_type_name => "admin" public $login => "zerig" public static $pass_len => 6; // MIN length of passwords
login($login, $password)
- $login [string] 登录用户名
- $password [string] 登录用户密码
- @return [boolean] 操作成功与否
将用户登录到系统中。
$GLOBALS["user"]->login("not_exist", "123456") => 0 $GLOBALS["user"]->isLogged() => 0 $GLOBALS["user"]->login("zerig", "123456") => 1 $GLOBALS["user"]->isLogged() => 1
logout()
- @return [boolean] 操作成功与否
将用户从系统中注销。
$GLOBALS["user"]->logout() => 1 $GLOBALS["user"]->isLogged() => 0
::signup($login, $password, $type)
- $login [string] 登录用户名
- $password [string] 登录用户密码
- $type [num] 用户类型ID
- @return [boolean] 操作成功与否
将新用户添加到MYSQL。新密码长度必须至少为6个字符。
\UserManager\User::signup("zerig", "555555", 1) => 0 // user already exist \UserManager\User::signup("nym", "123", 1) => 0 // password doesn't have 6 chars \UserManager\User::signup("nym", "123456", 1) => 1 $GLOBALS["user"]->login("nym", "123456") => 1 $GLOBALS["user"]->isLogged() => 1
::existUser($login)
- $login [string] 用户名
- @return [boolean] 操作成功与否
将新用户添加到MYSQL。新密码长度必须至少为6个字符。
\UserManager\User::existUser("not_exist") => 0 \UserManager\User::existUser("nym") => 1
changePassword($old_password, $new_password, $control_password = null)
- $old_password [string] 原始用户密码
- $new_password [string] 新密码
- $control_password [string] 新密码的控制 - 非必需
- @return [boolean] 操作成功与否
将密码更改为新密码
$GLOBALS["user"]->changePassword("123456", "666") => 0 // new password is too short $GLOBALS["user"]->changePassword("123456", "666666") => 1 $GLOBALS["user"]->changePassword("666666", "123", "123") => 0 // new password and confirmation is too short $GLOBALS["user"]->changePassword("666666", "123456", "123333") => 0 // new password and comfirmation is not the same
changeLogin($new_login, $password)
- $new_login [string] 新登录名
- $password [string] 用于确认的原始用户密码
- @return [boolean] 操作成功与否
将密码更改为新密码
$GLOBALS["user"]->changeLogin("nym2", "111111") => 0 // wrong password $GLOBALS["user"]->changeLogin("nym2", "666666") => 1 // right password
::removeUser($login)
- $login [string] 要删除的用户名登录
- @return [boolean] 操作成功与否
从Mysql中删除用户。
\UserManager\User::removeUser("not_exist") => 1 // not existing user \UserManager\User::removeUser("nym") => 1 // existing user