oenstrom / user
用于Anax框架的用户模块。
1.0.6
2017-10-23 22:34 UTC
Requires
- php: >=5.6
- anax/database: ^1.1
- anax/di: ^1.0
- anax/htmlform: ^1.0
- anax/page: ^1.0
- anax/request: ^1.0
- anax/response: ^1.0
- anax/session: ^1.0
- anax/view: ^1.0
This package is not auto-updated.
Last update: 2024-09-29 04:36:51 UTC
README
实现用户和管理功能的Anax用户模块。
安装
使用composer安装模块,然后将其集成到您的Anax安装中。
使用composer安装
composer require oenstrom/user
自动配置
您可以使用makefile自动配置大多数模块。makefile位于vendor/oenstrom/user/
,确保在运行make命令之前您位于该目录。
# cd vendor/oenstrom/user
make install-module
手动配置
如果您想手动复制文件,可以从Anax安装的根目录使用以下命令进行。
rsync -a vendor/oenstrom/user/config/di/* config/di/
rsync -a vendor/oenstrom/user/config/route/* config/route/
rsync -a vendor/oenstrom/user/config/database.php config/
rsync -a vendor/oenstrom/user/view/user view/
设置数据库
执行SQL文件sql/setup.sql
,创建一个名为anaxuser
的新数据库和一个包含两个用户的新表:admin:admin
和doe:doe
。如果您已经有数据库,只需编辑SQL文件或使用下面的SQL代码。
CREATE TABLE User (
`id` INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
`role` VARCHAR(20) NOT NULL DEFAULT 'user',
`username` VARCHAR(80) UNIQUE NOT NULL,
`email` VARCHAR(255) UNIQUE NOT NULL,
`password` VARCHAR(255) NOT NULL,
`created` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`deleted` DATETIME
) ENGINE INNODB CHARACTER SET utf8 COLLATE utf8_swedish_ci;
INSERT INTO User(role, username, email, password) VALUES
('admin', 'admin', 'admin@admin.com', '$2y$10$Njbsb6l8TCLdvHUcS/65IOcEVARQGICBYqDqx8843aPgpVdlYedrC'),
('user', 'doe', 'user@user.com', '$2y$10$26KgRWjs3F654.yHpsYYDO4sd86ksNN1E8zpQ2yHMA/yx33tV/ACq');
现在更新文件config/database.php
,包含您的SQL服务器的设置和凭据。
测试
完成上述所有步骤后,您可以使用以下路由进行测试。
user/register Register a new account
user/login Login with your account
user/logout Logout from your account
# Protected from unauthenticated users
user/profile Display the user profile
# Protected from unauthorized users
user/admin/users Display all users
user/admin/users/add Create a new user
user/admin/update/:id Update an user with the provided id
user/admin/delete/:id Delete an user with the provided id
许可证
本软件采用MIT许可证。
Copyright (c) 2017 Olof Enström (olof.enstrom@gmail.com)