tlucas / liteauth
Requires
- php: ^7.0
- catfan/medoo: v1.2
Requires (Dev)
- php: ^7.0
This package is not auto-updated.
Last update: 2022-04-30 15:22:16 UTC
README
PHP的轻量级身份验证库,使用SQLite作为数据库后端
安装
composer require tlucas/liteauth
在您希望使用它的项目文件(例如project.php)中,请确保您有
require_once('vendor/autoload.php');
然后使用以下方式初始化身份验证对象
$auth = new liteAuth\liteAuth('path/to/my/auth_database.db');
(当然,您可以调用对象任何名字,但在这个readme的其余部分,我们将假设您将其称为$auth
)
基本使用
创建用户
在登录到liteAuth之前,您必须首先创建一个用户。
这可以通过以下方式完成
$auth->newUser($user, $pass, $email, $fname, $sname, $admin);
仅需要$user
和$pass
参数,其余的都是可选的。
例如
$auth->newUser('John', 'superstrongpassword');
现在数据库中有一个名为John
的用户,密码为superstrongpassword
。
(如果newUser()成功,它将返回新用户的id
,否则,它将返回False
)
(其他字段应该很容易理解,可能除了$admin
。这是一个简单的True
/False
字段,在liteAuth中没有特殊含义,因此您可以随意使用它!)
从表单
还包括一个辅助方法registerFromPost()
,以便可以轻松创建注册表单。
将其放置在表单的目标位置,它将查找相关的表单变量以注册新用户。
例如,您可能有一个包含以下内容的文件register.php
$auth->registerFromPost();
还有一个文件signup.html
<form action="register.php" method="post">
<input type="text" name="user" placeholder="Username"><br>
<input type="text" name="fname" placeholder="First name"><br>
<input type="text" name="sname" placeholder="Surname"><br>
<input type="email" name="email" placeholder="Email Address"><br>
<input type="password" name="pass" placeholder="Password"><br>
<input type="password" name="pass2" placeholder="Password"><br>
<input type="checkbox" name="admin"> Admin?<br>
<input type="submit" value="Register">
</form>
register.php
将获取signup.html
中的数据并创建与输入相对应的新用户。
请注意:任何可以访问调用registerFromPost()
的脚本的任何人都可以创建新用户。请确保这只能由有此权限的人访问!
一个例子可能是要求管理员用户登录
register.php
:
if($auth->user->admin)
$auth->registerFromPost();
登录
登录与创建用户非常相似,您可以使用login()
方法调用
$auth->login($user, $pass);
之后,如果密码正确匹配用户,它将返回True
并填充$auth->user
一旦登录,用户对象上就有以下属性
$auth->user->user // User's username
$auth->user->first_name // User's first name, if set
$auth->user->surname // User's surname, if set
$auth->user->email // User's email address, if set
$auth->user->admin // If the user is set as an admin
还有一个特殊的方法
$auth->name()
它返回用户的姓名(即“名字 姓氏”或“名字”),或者回退到用户名。
从表单
与注册一样,还有一个用于从表单登录的辅助方法
$auth->loginFromPost();
如果您将其放入例如login.php
中,表单在loginform.html
<form action="login.php" method="post">
<input type="text" name="user" placeholder="Username"><br>
<input type="password" name="pass" placeholder="Password"><br>
<input type="submit" value="Login">
</form>
将传递适当的值进行登录。
修改用户
要修改现有用户,您可以编辑上述列出的任何可访问属性,例如
$auth->user->first_name = 'Stephen';
然后调用
$auth->user->save();
它将更新当前用户在数据库中的名字为 Stephen
。
其他方法
$auth->countUsers();
返回数据库中存在的用户数量
$auth->existUsers();
如果没有用户存在,则返回 False(这有助于允许进行“首次运行”设置程序)