ホームページ >バックエンド開発 >PHPチュートリアル >ユーザーがログインしているかどうかを確認する thinkphp に問題がありますか?

ユーザーがログインしているかどうかを確認する thinkphp に問題がありますか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 14:16:191433ブラウズ

どうやって確認しましたか?アクションごとに 1 回確認しますか?それともパブリック関数に書いて呼び出しますか?


ディスカッションへの返信(解決策)

一般的には

と呼ばれていますが、私が今行っているのは、ログイン後に Cookie を保存することです。Cookie が保存されているかどうかを確認するには、php ファイルまたは特定の場所を使用する必要があります。存在します

一般 これらはすべて呼ばれますよね?

しかし、私が今行うことは、ログイン後に Cookie を保存することです。Cookie が存在するかどうかを確認するには、php ファイルまたは特定の場所を使用する必要があります
まあ、これで問題ありません。ただ面倒だと思います。共通関数にユーザーを認証するメソッドを追加し、aとmの値を判断してユーザーを認証するメソッドを呼び出すかどうかを決定しました。しかし、ログインインターフェースに認証コードを追加したため、一度呼び出すと認証コードが出てきません。もっと便利な方法を見つけたい。

パブリック クラスの継承を書くことができます

通常、私はこうします:

class BaseAction extends Action{  function _initialize(){     if(!in_array(MODEL_NAME.'_'.ACTION_NAME,explode(',',"Public/login,Public/LoginOn,Public/verify"))){     if(!isset($_SESSION['login]) !! empty(session('login')))            $this->redirect("/login");    }  }}

コードが間違っているかもしれません、

通常、私は次のようにします:

class BaseAction extends Action{  function _initialize(){     if(!in_array(MODEL_NAME.'_'.ACTION_NAME,explode(',',"Public/login,Public/LoginOn,Public/verify"))){     if(!isset($_SESSION['login]) !! empty(session('login')))            $this->redirect("/login");    }  }}

コードが間違っているかもしれません、
ありがとう、これはうまくいきます 、試してみましたが、検証コードが実際にモデルの下でアクションを呼び出すとは予想していませんでした。コードに小さなエラーがあります。「_」を「/」に置き換える必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。