测试:-公会后台登录修改
This commit is contained in:
@@ -228,7 +228,7 @@ class GuildAdmin extends Controller
|
||||
}
|
||||
// 配置信息后
|
||||
Hook::listen("config_init", $config);
|
||||
$this->guildId = Session::get('guild_id') ?? 0;
|
||||
$this->guildId = Session::get('guild_admin')['guild_id'] ?? 0;
|
||||
//加载当前控制器语言包
|
||||
$this->loadlang($controllername);
|
||||
//渲染站点配置
|
||||
@@ -238,7 +238,7 @@ class GuildAdmin extends Controller
|
||||
//渲染权限对象
|
||||
$this->assign('auth', $this->auth);
|
||||
//渲染管理员对象
|
||||
$this->assign('admin', Session::get('admin'));
|
||||
$this->assign('admin', Session::get('guild_admin'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -40,7 +40,6 @@ class Admin extends GuildAdmin
|
||||
$this->model = model('guildadmin/Admin');
|
||||
$this->authRuleModel = model('guildadmin/AuthRule');
|
||||
$this->authGroup = model('guildadmin/AuthGroup');
|
||||
$this->guildId = Session::get('guild_id');
|
||||
$this->childrenAdminIds = $this->auth->getChildrenAdminIds($this->auth->isSuperAdmin());
|
||||
$this->childrenGroupIds = $this->auth->getChildrenGroupIds($this->auth->isSuperAdmin());
|
||||
if($this->auth->id ==1){
|
||||
|
||||
@@ -65,10 +65,10 @@ class Auth extends \fast\GuildaAuth
|
||||
$admin->token = Random::uuid();
|
||||
$admin->save();
|
||||
Session::set("guild_admin", $admin->toArray());
|
||||
Session::set("guild_id", $admin['guild_id']);
|
||||
Session::set("guild_admin_id", $admin['id']);
|
||||
Session::set("guild_admin.safecode", $this->getEncryptSafecode($admin));
|
||||
Cache::set("guild_admin_" . $admin->token, json_encode($admin->toArray()), 86400);
|
||||
Session::set("guild_id", $admin['guild_id']);
|
||||
$this->keeplogin($admin, $keeptime);
|
||||
return true;
|
||||
}
|
||||
@@ -86,6 +86,8 @@ class Auth extends \fast\GuildaAuth
|
||||
}
|
||||
$this->logined = false; //重置登录状态
|
||||
Session::delete("guild_admin");
|
||||
Session::delete("guild_id");
|
||||
Session::delete("guild_admin_id");
|
||||
Cookie::delete("guild_keeplogin");
|
||||
Cache::rm("guild_admin_" . $admin->token);
|
||||
setcookie('guild_userinfo', '', $_SERVER['REQUEST_TIME'] - 3600, rtrim(url("/" . request()->module(), '', false), '/'));
|
||||
@@ -118,6 +120,8 @@ class Auth extends \fast\GuildaAuth
|
||||
return false;
|
||||
}
|
||||
Session::set("guild_admin", $admin->toArray());
|
||||
Session::set("guild_id", $admin['guild_id']);
|
||||
Session::set("guild_admin_id", $admin['id']);
|
||||
Session::set("guild_admin.safecode", $this->getEncryptSafecode($admin));
|
||||
//刷新自动登录的时效
|
||||
$this->keeplogin($admin, $keeptime);
|
||||
@@ -292,21 +296,22 @@ class Auth extends \fast\GuildaAuth
|
||||
public function getGroups($uid = null)
|
||||
{
|
||||
$uid = is_null($uid) ? $this->id : $uid;
|
||||
$guild_id = Session::get('guild_admin')['guild_id'] ?? 0;
|
||||
// return parent::getGroups($uid);
|
||||
if($uid == 1){
|
||||
$user_groups = Db::name('vs_guild_admin_auth_group_access')
|
||||
$user_groups = db::name('vs_guild_admin_auth_group_access')
|
||||
->alias('aga')
|
||||
->join('fa_vs_guild_admin_auth_group ag', 'aga.group_id = ag.id', 'LEFT')
|
||||
->field('aga.uid,aga.group_id,ag.id,ag.pid,ag.name,ag.rules')
|
||||
->where("aga.uid='{$uid}' and ag.status='normal'")
|
||||
->select();
|
||||
}else{
|
||||
$user_groups = Db::name('vs_guild_admin_auth_group_access')
|
||||
$user_groups = db::name('vs_guild_admin_auth_group_access')
|
||||
->alias('aga')
|
||||
->join('fa_vs_guild_admin_auth_group ag', 'aga.group_id = ag.id', 'LEFT')
|
||||
->field('aga.uid,aga.group_id,ag.id,ag.pid,ag.name,ag.rules')
|
||||
->where("aga.uid='{$uid}' and ag.status='normal'")
|
||||
->where('ag.guild_id', Session::get('guild_id'))
|
||||
->where('ag.guild_id', $guild_id)
|
||||
->select();
|
||||
}
|
||||
|
||||
@@ -330,6 +335,7 @@ class Auth extends \fast\GuildaAuth
|
||||
public function getRuleIds($uid = null)
|
||||
{
|
||||
$uid = is_null($uid) ? $this->id : $uid;
|
||||
$guild_id = Session::get('guild_admin')['guild_id'] ?? 0;
|
||||
// 执行查询
|
||||
if($uid==1){
|
||||
return parent::getRuleIds($uid);
|
||||
@@ -339,7 +345,7 @@ class Auth extends \fast\GuildaAuth
|
||||
->join('fa_vs_guild_admin_auth_group ag', 'aga.group_id = ag.id', 'LEFT')
|
||||
->field('aga.uid,aga.group_id,ag.id,ag.pid,ag.name,ag.rules')
|
||||
->where("aga.uid='{$uid}' and ag.status='normal'")
|
||||
->where('ag.guild_id', Session::get('guild_id'))
|
||||
->where('ag.guild_id', $guild_id)
|
||||
->select();
|
||||
$groups[$uid] = $user_groups ?: [];
|
||||
$ids = []; //保存用户所属用户组设置的所有权限规则id
|
||||
@@ -379,6 +385,7 @@ class Auth extends \fast\GuildaAuth
|
||||
public function getChildrenGroupIds($withself = false)
|
||||
{
|
||||
//取出当前管理员所有的分组
|
||||
$guild_id = Session::get('guild_admin')['guild_id'] ?? 0;
|
||||
$groups = $this->getGroups();
|
||||
$groupIds = array_column($groups, 'id');
|
||||
$originGroupIds = $groupIds;
|
||||
@@ -389,7 +396,7 @@ class Auth extends \fast\GuildaAuth
|
||||
}
|
||||
}
|
||||
// 取出所有分组
|
||||
$groupList = \app\guildadmin\model\AuthGroup::where($this->isSuperAdmin() ? '1=1' : ['status' => 'normal'])->where('guild_id', Session::get('guild_id'))->select();
|
||||
$groupList = \app\guildadmin\model\AuthGroup::where($this->isSuperAdmin() ? '1=1' : ['status' => 'normal'])->where('guild_id', $guild_id)->select();
|
||||
$objList = [];
|
||||
foreach ($groups as $k => $v) {
|
||||
if ($v['rules'] === '*') {
|
||||
@@ -418,6 +425,7 @@ class Auth extends \fast\GuildaAuth
|
||||
*/
|
||||
public function getChildrenAdminIds($withself = false)
|
||||
{
|
||||
$guild_id = Session::get('guild_admin')['guild_id'] ?? 0;
|
||||
$childrenAdminIds = [];
|
||||
if (!$this->isSuperAdmin()) {
|
||||
$groupIds = $this->getChildrenGroupIds(false);
|
||||
@@ -425,7 +433,7 @@ class Auth extends \fast\GuildaAuth
|
||||
->column('uid');
|
||||
} else {
|
||||
//超级管理员拥有所有人的权限
|
||||
$childrenAdminIds = Admin::where('guild_id', Session::get('guild_id'))->column('id');
|
||||
$childrenAdminIds = Admin::where('guild_id', $guild_id)->column('id');
|
||||
}
|
||||
|
||||
if ($withself) {
|
||||
|
||||
Reference in New Issue
Block a user