12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace app\admin\controller;
- use think\Controller;
- use think\Request;
- use think\Db;
- class Login extends Controller{
- public function lst(){
- $post_token = input('post.TOKEN');//先接收token传过来的值(因为用的layui表单监听提交,可以不用判断是post提交)
- if(!checkToken($post_token)){//验证token如果重复提交则跳转到指定界面
- $this->redirect('admin/index/server');//已经登录的用户在重复访问登录页面则跳转到登录后的页面
- }
- if (request()->isPost()){
- $data['uname'] = input('uname');
- $data['upass'] = md5(input('upass'));
- //从数据库读取数据
- $info = db('user')->where($data)->find();
- if($info){
-
- $login_data['last_login_time']=time(); //获取当前登录时间
- $login_data['last_login_ip'] = $this->request->ip();//获取当前登录ip
- $login = db('user')->where($data)->update($login_data);// 更新当前用户信息
- if($login){
- // session('uname',$info['uname']);
- // session('id',$info['id']);
- createToken();//登录成功时创建一个新token
- timeout(259220);//设置一个过期时间(60:代表1分钟,259220:代表3天(60(秒)*60(分)*24(小时)=1天),以此换算)259220
- session('admin_auth',$info);//$info(相当于直接将这个数组中id 和uname存入session)
- insert_admin_log('登录操作');//写入日志表
- return 1;
- }else{
- return 3;
- }
- }else{
- return 2;
- }
- }else{
- //如果不是post,则返回登陆界面
- return view();
- }
-
-
-
- }
-
- public function logout(){
- //退出登录
- session(null);//退出清空session
- //url("/lst"):为后台登录地址,设置路由进行替换的(在route.php中查看)
- return $this->redirect(url('/lst'));//跳转到登录页面
- }
- }
|