测试:-公会后台登录修改

This commit is contained in:
2025-12-03 10:01:20 +08:00
parent 2d5645813b
commit be7dc27d20
3 changed files with 17 additions and 10 deletions

View File

@@ -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'));
}
/**

View File

@@ -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){

View File

@@ -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) {