1

UserMapperからコードを読んでいたのは、自分ZfcUser Zend Framework Module のシステムを構築する前に zends 認証システムを使用するという一般的な概念を理解できると思い、何かに興味があったからです。

その (ここをクリック) の 19 行目に、次のコードがあります。

$this->getEventManager()->trigger('find', $this, array('entity' => $entity));

トリガーされている「検索」イベントを見つけることができる場所、または将来発生する可能性のある検索イベントのプレースホルダーを知りたい

モジュールファイルと他のいくつかを見ましたが、見つかりません

4

1 に答える 1

1

Zfcuser通常の基本的なauthenでは必要のない多くの機能を備えた非常に完全なモジュールです。これらの機能には、ZfcUserトリガーするいくつかのイベントが含まれていますが、それは必要ありません。ユーザーがこのイベントに対して特定のアクションを実行する必要がある場合に備えて、ここに用意されています。

さらに、BjyAuthorizeroleuserbridgeZfcUserなどの他のモジュールと共に使用して、より多くの機能 (acl およびユーザー ロール管理...) を提供できます。また、これらのサードパーティ モジュールは、によってトリガーされるイベントを使用できます。ZfcUser

たとえば、すべてのユーザー認証をログに記録したい場合は、メソッドで次authenticateのようにイベントを使用できますonBootstrap(): (ここの例):

$sm = $e->getApplication()->getServiceManager();
$zfcAuthEvents = $e->getApplication()->getServiceManager()->get('ZfcUser\Authentication\Adapter\AdapterChain')->getEventManager();

$zfcAuthEvents->attach( 'authenticate', function( $authEvent ) use( $sm ){
    try {
        $remote     = new \Zend\Http\PhpEnvironment\RemoteAddress;
        $remote->setUseProxy( true );

        $mapper     =  $sm->get( 'auth_log_mapper' );
        $log_entity = new \FooUser\Entity\UserAuthenticationLog;
        $log_entity->populate(
                array(
               'user_id'       => $authEvent->getIdentity(),
                'auth_time'     => new \DateTime( "now" ),
                'ip_address'    => $remote->getIpAddress()
            )
        );

        $mapper->save( $log_entity );
        return true;
    } catch( \Exception $x ) {
        // handle it
    }
});

そのため、このfindイベントは には役に立たない可能性がありZfcUserます。これは、このモジュールの将来の開発のためのプレースホルダーではありません。ユーザー リポジトリでユーザーが見つかったときに何かを行う必要がある場合のフックです...

于 2016-09-14T17:14:28.610 に答える