# 概述

在完成项目的初始化后,系统会使用默认的登录服务。若需自定义登录方式,可阅读:登录鉴权-自定义

# 设置用户登录

use yunj\app\admin\model\AdminMember;

// 登录用户信息
$member = (new AdminMember())->find('...'); 
// 调用登录服务获取授权token
// 用户登录成功将会触发事件"AdminMemberLogin"并携带登录用户信息`yunj\app\admin\model\AdminMember`对象实例作为事件参数
$data = admin_member_login_service()->login($member);
$token = $data['token'];    // 登录用户授权token
$expire = $data['expire'];  // 授权token有效期,单位s
cookie('admin_token', $token);
...

# 注销用户登录

use yunj\app\admin\model\AdminMember;

// 调用登录服务注销指定授权token
// logout 可传入指定token,默认空为当前登录用户token
// 用户登录注销成功将会触发事件"AdminMemberLogout"并携带登录用户信息`yunj\app\admin\model\AdminMember`对象实例作为事件参数
admin_member_login_service()->logout();
...

# 用户登录验证

通常情况下配置路由时,启用登录授权即可。


// 调用登录服务验证指定授权token
// validate 可传入指定token,默认空为当前登录用户token
// 验证成功返回当前token对应的用户信息`yunj\app\admin\model\AdminMember`对象实例,反之返回false
$member = admin_member_login_service()->validate(); // 注意!验证成功会自动延长token有效期
...