zoukankan      html  css  js  c++  java
  • 判断用户是否已经登录(跳转到不同页面或者执行不同动作)

    1.

    2.

       <if condition="$GLOBALS['userinfo']['user_id'] gt 0">
            <span class="help_wz"><a href="{$Think.config.VIP_URL}/Member/user_pwd/" style="color:#404958;">找回登录密码</a></span>
            <else/>
            <span class="help_wz"><a href="/Login/FindPwd" style="color:#404958;">找回登录密码</a></span>
            </if>

    3.后台设置全局变量并查询用户信息

        public function UserInfo($user_id){
            //查询系统信息
            $system=array(
                    'CmdId'=>'System',
                    'Token'=>'wap',
                    'PostDetails'=>json_encode(array(
                    )));
            //通过curl的post方式发送接口请求
            $curl=new CurlController();
            $strs=$curl->SendCurl($system);
            $GLOBALS['system']=$strs['AcctDetails'];
            if(empty($user_id)){
                return false;
            }
            setcookie("login_uid", $user_id, time() + 3600, "/", C('cookie_url'));
            setcookie("rdun", $this->authcode($user_id . "," . time(), "ENCODE"), time() + 3600,"/",C('cookie_url'));;
            $data=array(
                    'CmdId'=>'Individual',
                    'Token'=>session('token'),
                    'PostDetails'=>json_encode(array(
                            'user_id'=>$user_id,
                    )));
            //通过curl的post方式发送接口请求
            $curl=new CurlController();
            $str=$curl->SendCurl($data);
            
            $GLOBALS['userinfo']=$str['AcctDetails'];
            $newtoken=unserialize($str['AcctDetails']['token']);
            $oldtoken=unserialize(session('token'));
            if(!empty(session('token')) && !empty($str['AcctDetails']['token'])){
                //用户不对
                if($newtoken['user_id'] !== $newtoken['user_id']){
                    session('token',null);
                    session('user_id',null);
                    header('Location:/Login/Login');
                    return false;
                }
                //token不对
                if($newtoken['time'] !== $oldtoken['time']){
                    session('token',null);
                    session('user_id',null);
                    header('Location:/Login/Login');
                    return false;
                }
                //超时的不能在这做,原因是存入session的值不变,如果用户一直操作的话,而且只登陆一次,那么就会出现问题
            }
            return true;
        }

     4.后台调用该方法

  • 相关阅读:
    python os.path.dirname()
    python os.path.basename()方法
    python mmap对象
    python 读取二进制数据到可变缓冲区中
    sklearn常见分类器的效果比较
    用matplotlib获取雅虎股票数据并作图
    使用 lxml 中的 xpath 高效提取文本与标签属性值
    如何用 Python 爬取需要登录的网站
    python 线程及线程池
    使用Python代码处理Excel
  • 原文地址:https://www.cnblogs.com/yangzailu/p/5895775.html
Copyright © 2011-2022 走看看