Files
littleTiger/application/common/logic/AdminLogic.php
2019-02-28 19:48:21 +08:00

85 lines
2.4 KiB
PHP

<?php
/**
* tpshop
* ============================================================================
* 版权所有 2015-2027 深圳搜豹网络科技有限公司,并保留所有权利。
* 网站地址: http://www.tp-shop.cn
* ----------------------------------------------------------------------------
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
* 不允许对程序代码以任何形式任何目的的再发布。
* 采用最新Thinkphp5助手函数特性实现单字母函数M D U等简写方式
* ============================================================================
* Author: lhb
*/
namespace app\common\logic;
use think\Db;
use think\Session;
class AdminLogic
{
public function login($username, $password)
{
if (empty($username) || empty($password)) {
return ['status' => 0, 'msg' => '请填写账号密码'];
}
Saas::instance()->ssoAdmin($username, $password);
$condition['a.user_name'] = $username;
$condition['a.password'] = encrypt($password);
$admin = Db::name('admin')->alias('a')->join('__ADMIN_ROLE__ ar', 'a.role_id=ar.role_id')->where($condition)->find();
if (!$admin) {
return ['status' => 0, 'msg' => '账号密码不正确'];
}
$this->handleLogin($admin, $admin['act_list']);
$url = session('from_url') ? session('from_url') : U('Admin/Index/index');
return ['status' => 1, 'url' => $url];
}
public function handleLogin($admin, $actList)
{
Db::name('admin')->where('admin_id', $admin['admin_id'])->save([
'last_login' => time(),
'last_ip' => request()->ip()
]);
$this->sessionRoleRights($admin, $actList);
session('admin_id', $admin['admin_id']);
session('last_login_time', $admin['last_login']);
session('last_login_ip', $admin['last_ip']);
adminLog('后台登录');
}
public function sessionRoleRights($admin, $actList)
{
if (Saas::instance()->isNormalUser()) {
$roleRights = Saas::instance()->getRoleRights($actList);
} else {
$roleRights = $actList;
}
session('act_list', $roleRights);
}
public function logout($adminId)
{
session_unset();
session_destroy();
Session::clear();
Saas::instance()->handleLogout($adminId);
}
}