创新实训(六):用户管理之权限管理
权限管理中,本系统分成了二级权限,有普通用户和超级用户,外加一个manage的形式,管理员拥有所有权限,可以设置超级用户和普通用户,同时可以封禁用户,超级用户可以封禁,也可以管理比赛的相关内容。
一.项目展示:
普通用户只有查看和报名的权限
超级用户可以添加比赛,管理博客,管理用户
二.代码:
1.manage创建并配置一个表单,用于更改用户组:
php
$user_form = new UOJForm('user');
$user_form->addInput('username', 'text', '用户名', '',
function ($username) {
if (!validateUsername($username)) {
return '用户名不合法';
}
if (!queryUser($username)) {
return '用户不存在';
}
return '';
},
null
);
$options = array(
'banneduser' => '设为封禁用户',
'normaluser' => '设为普通用户',
'superuser' => '设为超级用户'
);
$user_form->addSelect('op-type', $options, '操作类型', '');
$user_form->handle = function() {
global $user_form;
$username = $_POST['username'];
switch ($_POST['op-type']) {
case 'banneduser':
DB::update("update user_info set usergroup = 'B' where username = '{$username}'");
break;
case 'normaluser':
DB::update("update user_info set usergroup = 'U' where username = '{$username}'");
break;
case 'superuser':
DB::update("update user_info set usergroup = 'S' where username = '{$username}'");
break;
}
};
$user_form->runAtServer();
创建一个表单user_form,添加输入字段用于输入用户名。
添加一个下拉菜单选择操作类型:封禁用户、普通用户、超级用户。
表单提交后,根据选择的操作类型更新数据库中对应用户的用户组。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端