# 用户管理
最新的用户管理使用`JWT(jsonWebToken)`加解密管理用户权限,服务器不保存用户状态,用户状态由前端自己管理.
其原理如下:
> 用户登录 ->服务器验证->服务器加密用户基本信息->返回token->前端保存
> 用户携带token访问->服务器解密获得用户基本信息->进一步操作
## 用户登录
```
protected function userLogin($user);
// 比如某用户
$user = ["id"=>"12","name"=>"ArH"];
$this->userLogin($user); // 加密得到 qwerty (实际上更复杂)
// 函数返回用户数组,其中包含了token
```
>[success] 用户登录后可以使用 `$this->USER_ID;` 获取用户id
## 获取当前用户 可用于验证权限
```
protected function currentUser();
// 如果是登录状态则返回用户基本信息
// 如果没登录有两种情况
// 1 未携带token 2 token解密错误 这两种情况都是直接返回404
```
### 验证权限场景
比如自己有没有点赞是需要登陆后才能看到的,比如删除某数据需要看是不是自己的
```
public function xList(){
$user = $this->cuurentUser(); //返回的用户 如果没有登陆则会直接404,下面的代码也不会执行
// 进一步,如果删除要是自己的
if($user['id']==$data['user_id']){
// delete....
}
}
```
- 首页
- APP
- 调试
- 部分问题解答
- IM
- 魔工坊APP框架
- 前端
- npm
- MogoAjax
- ES6
- javascript规范
- weui
- 微信小程序
- Mock数据伪造
- Mogo-Css
- O2-Upload
- 七牛图片处理
- 前端调试
- 后端
- 魔工坊海豚PHP
- 文件上传
- O2-Comments
- 前端API
- 消息
- Excel导入/导出
- 阿里短信
- dolphinPHP
- Thinkphp
- 海豚PHP
- 创建项目
- 人人商城与海豚同步问题
- mysql
- 发送HTTP请求
- 支付
- 个推
- 接口开发须知
- 生成海报
- 音频转换
- openssl
- App上架的故事
- 安卓签名问题
- 苹果账号申请
- 各个平台上架内容
- 文案小姐姐的文档
- 微信支付申请流程
- 备案的故事
- 企业支付宝认证
- 微信公众问题
- 微信开放平台与上架应用
- 小程序特殊行业所需材料
- 模型文档模板
- 必读规范
- 跨域
- 前后端数据通讯接口规范
- Restful风格API规范
- 服务器
- SSL中间证书
- Git篇章
- MogoSDK
- 文档模板
- PHP
- 使用
- 概念
- User
- 模型
- 文档书写
- JS
- 安装
- 初始化
- 用户
- 状态管理
- 查询
- 执行函数
- 请求
- 上传
- MogoH5+