## 代码
> 注释部分,可根据实际情况进行去掉!!!
注释分别为:
```
<?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('用户名不存在');
}
}
}
```