0

zf2は初めてです。zfcuser は、インストール ガイドのようにセットアップされます。登録、ログイン、ログアウトできます。

フロントエンドとバックエンドのモジュールを作成しました。ユーザーがバックエンドにログインしているかどうかを確認しようとしています-管理者とすべての子モジュール。

入れてみました

$sm  = $app->getServiceManager();
        $auth = $sm->get('zfcuser_auth_service');
        if (!$auth->hasIdentity()) {
            //redirect to login page
        } 

私のadmin/module.php関数onBootStrapで

ログインをチェックしましたが、管理者だけでなく、フロントエンドを含むモジュール全体を対象としています。

管理モジュールと管理モジュールのすべての子モジュールのログインを確認するだけです。

方法がわかりませんでした。助けてください

4

1 に答える 1

0

あなたの中 module.config.php

<?php

namespace AdminModule;
use Zend\Authentication\AuthenticationService;

return array(
    __NAMESPACE__ => array(
        'params' => array(),
        'service_manager' => array(
            'invokables' => array(
               'Zend\Authentication\AuthenticationService' => 'Zend\Authentication\AuthenticationService',
            ),
        ),
        'services' => array(
            // Keys are the service names
            // Values are objects
            'Auth' => new AuthenticationService(),
        ),
    ),
);

コントローラー/マネージャーでの例

    $this->auth = new AuthenticationService();

    if($this->auth->hasIdentity()){
        $this->userid = $this->auth->getIdentity();
    }

工場も使えます。

コントローラーでの例

ZfcUser モジュールのツールを使用する

  $this->zfcUserAuthentication()->hasIdentity()
于 2013-10-14T03:01:40.233 に答える