6

Zend Frameworkを学んでいますが、使用法と概念について疑問があります。

すべてのページへのアクセスを許可するためにユーザーがログに記録されているかどうかを確認したいと思います。そうである場合はページを表示し、そうでない場合はログインページを表示します。

私の主な疑問は、これを行うために何を使用する必要があるか(Zend_Auth、Zend_Aclなど)、およびユーザーがログに記録されているかどうかをどこで確認するかです(各コントローラーまたはフレームワークで、要求ごとにこれを自動的に確認します)。

4

2 に答える 2

5

使用したいツールはZend_Authで、コツをつかんだときに非常に使いやすくなっています。

ユーザーがログインしているかどうかの確認は、次のように簡単に行うことができます。-

$auth = Zend_Auth::getInstance();
if($auth->hasIdentity()) $loggedIn = true;

ZendAuthの使用を開始するためのRobAllenの優れたチュートリアルを参照してください。

私が使用する方法は、承認とアクセス制御を管理するユーザークラスを設定し、それをアクションヘルパーとしてアプリケーションに挿入することです。これにより、どのコントローラーでも次のことができるようになります。

$this->user->checkSomething();

承認部分は、公開したくないサイトのすべての部分に影響を与える必要があり、影響を受ける各コントローラーは、ユーザーがログインしていることを確認する必要があります。アクセス制御の場合、これは、役割ごと/リソースごとに行われます。どれだけきめ細かくする必要があるか。マニュアルのACLAUTHを参照してください。

于 2012-05-09T15:07:27.680 に答える
2

ユーザーがZendFrameworkにログインしているかどうかを確認したいですか?これを試して:

これをコントローラーの任意の場所に配置して「デバッグ」し、コードの先頭または先頭に配置します。

if (Zend_Auth::getInstance()->hasIdentity()) echo "oh yeah I'm logged in lol"; die;
于 2016-09-26T21:52:53.880 に答える