# 用戶管理
最新的用戶管理使用`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+