Zfcuser
通常の基本的なauthenでは必要のない多くの機能を備えた非常に完全なモジュールです。これらの機能には、ZfcUser
トリガーするいくつかのイベントが含まれていますが、それは必要ありません。ユーザーがこのイベントに対して特定のアクションを実行する必要がある場合に備えて、ここに用意されています。
さらに、BjyAuthorizeやroleuserbridgeZfcUser
などの他のモジュールと共に使用して、より多くの機能 (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
ます。これは、このモジュールの将来の開発のためのプレースホルダーではありません。ユーザー リポジトリでユーザーが見つかったときに何かを行う必要がある場合のフックです...