多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 代码 > 注释部分,可根据实际情况进行去掉!!! 注释分别为: ``` <?php namespace app\agent\controller; use think\Controller; class PublicController extends Controller { /** * 登录验证 */ public function doLogin() { // $loginAllowed = session("__LOGIN_BY_CMF_ADMIN_PW__"); // if (empty($loginAllowed)) { // $this->error('非法登录!', cmf_get_root() . '/'); // } //验证码 $captcha = $this->request->param('captcha'); if (empty($captcha)) { $this->error('验证码不能为空'); } if (!cmf_captcha_check($captcha)) { $this->error('验证码错误'); } //用户名邮箱 $name = $this->request->param("username"); if (empty($name)) { $this->error('用户名或邮箱不能为空'); } //密码 $pass = $this->request->param("password"); if (empty($pass)) { $this->error('密码不能为空'); } if (strpos($name, "@") > 0) {//邮箱登陆 $where['user_email'] = $name; } else { $where['user_login'] = $name; } //查找 $result = Db::name('user')->where($where)->find(); //用户不为空 if (!empty($result) && $result['user_type'] == 1) { if (cmf_compare_password($pass, $result['user_pass'])) { // $groups = Db::name('RoleUser') // ->alias("a") // ->join('__ROLE__ b', 'a.role_id =b.id') // ->where(["user_id" => $result["id"], "status" => 1]) // ->value("role_id"); if ($result["id"] != 1 && (empty($groups) || empty($result['user_status']))) { $this->error('用户已经被禁用'); } //登入成功页面跳转 session('AGENT_ID', $result["id"]); session('name', $result["user_login"]); $result['last_login_ip'] = get_client_ip(0, true); $result['last_login_time'] = time(); // $token = cmf_generate_user_token($result["id"], 'web'); // if (!empty($token)) { // session('token', $token); // } // Db::name('user')->update($result); cookie("admin_username", $name, 3600 * 24 * 30); // session("__LOGIN_BY_CMF_ADMIN_PW__", null); $this->success('登录成功', url("admin/Index/index")); } else { $this->error('密码错误'); } } else { $this->error('用户名不存在'); } } } ```