So verwenden Sie das Token des ThinkPhp-Frameworks in PHP

PHPz
Freigeben: 2023-05-26 14:14:25
nach vorne
1846 Leute haben es durchsucht

1. Die Verwendung von Token im ThinkPhp-Framework

1. Fügen Sie zunächst zwei Felder token und time_out#🎜 in die Benutzertabelle ein der Datenbank 🎜#

token wird zum Speichern des Benutzertokens verwendet

time_out wird zum Festlegen der Ablaufzeit des Benutzertokens verwendet

# 🎜🎜#2. Erstellen Sie eine Funktion

checkToekn($token)
Nach dem Login kopieren
Die Funktion wird verwendet, um zu prüfen, ob das Token vorhanden ist, und um das Token zu aktualisieren.

public function checkToken($token)
    {
        $user = new \app\index\model\Users();
        $res = $user->field('time_out')->where('token', $token)->select();
 
        if (!empty($res)) {
            //dump(time() - $res[0]['time_out']);
            if (time() - $res[0]['time_out'] > 0) {
     
                return 90003; //token长时间未使用而过期,需重新登陆
            }
            $new_time_out = time() + 604800; //604800是七天
            $res = $user->isUpdate(true)
                ->where('token', $token)
                ->update(['time_out' => $new_time_out]);
            if ($res) {
     
                return 90001; //token验证成功,time_out刷新成功,可以获取接口信息
            }
        }
 
        return 90002; //token错误验证失败
}
Nach dem Login kopieren

3. Erstellen Sie die Funktion

douserLogin($username,$password)
Nach dem Login kopieren
, um Benutzernamen und Passwort zu überprüfen, sich anzumelden und Token-Informationen zurückzugeben.

  public function douserLogin()
    {
        $user = new \app\index\model\Users();
        $userisset = $user->where('username', $username)->find();
        if ($userisset == null) {
            return json_decode('{"user":"' . $username . '","code":"400","msg":"用户不存在"}');
        } else {
            $userpsisset = $user
                ->where('username', $username)
                ->where('password', sha1(md5($password)))->find();
 
            if ($userpsisset == null) {
                return json_decode('{"user":"' . $username . '","code":"401","msg":"密码错误"}');
            } else {
                //session('user', $username);
                $token = $this->makeToken();
                $time_out = strtotime("+7 days");
                $userinfo = ['time_out' => $new_time_out,
                    'token' => $token];
                $res = $user->isUpdate(true)
                    ->where('username', $username)
                    ->update($userinfo);
                if ($res) {
                    return json_decode('{"user":"' . $username . '","toekn":'.$token.' "code":"0","msg":"登录成功"}');
                }
            }
        }
}
Nach dem Login kopieren

2. Das Konzept von Token

Token ist, wenn der Client häufig Daten vom Server anfordert und der Server häufig die Datenbank abfragt für Benutzernamen und Passwörter Stellen Sie fest, ob Benutzername und Passwort korrekt sind, und führen Sie entsprechende Abfragen durch. In diesem Zusammenhang sind Token entstanden.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Token des ThinkPhp-Frameworks in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!