使用ZF2基于ZfcUser自定义实体。试图使用ScnSocialAuth并遇到一些问题。 问题是我使用自定义路由('/ account'而不是'/ user')并且在实现ScnSocialAuth时我无法将社交代码放入我的自定义zfcuser视图中......? 我有\\ view \ zfc-user \ user \ _ register.php,它会覆盖zfcuser注册。 我有一个定制的路线:
'account' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/account',
),
),
这些是我在\ my-module \ config \ module.config.php
中的zfc配置修改 'zfcuser' => array(
// telling ZfcUser to use our own class
'user_entity_class' => 'WMember\Entity\WMember',
// telling ZfcUserDoctrineORM to skip the entities it defines
'enable_default_entities' => false,
'table_name' => 'w_member',
'login_redirect_route' => 'account',
),
我的全局\ config \ application.config.php
'ScnSocialAuth',
'MyModule1',
'ZfcBase',
'ZfcUser',
'BjyAuthorize',
'GoalioMailService',
'GoalioForgotPassword',
'my-user-module',
因此,毕竟:
a)我无法在我的模块中创建视图以覆盖\ vendor \ scn-social-auth \ user \ register.phtml,就像使用zfcuser一样
请帮助让ScnSocialAuth与我的自定义路由设置一起使用。 如果这是错的,请告诉我,因为我不是ZF2专家。很高兴接受“建设性”的批评。
看到这些帖子:How to (correctly) extend ScnSocialAuth\Authentication\Adapter\HybridAuth::authenticate() method? 这是上述帖子的结果: https://github.com/SocalNick/ScnSocialAuth/issues/202
注意:由于PHP 5.3,5.4仍在运行ZF-2.3 *
答案 0 :(得分:0)
您需要覆盖zfcuser
路线
<?php
// @file MyUserModule/config/module.config.php
return array(
// other config ...
'router' => array(
'routes' => array(
'zfcuser' => array(
'options' => array(
// this is the only change needed to route zfcuser to /account
'route' => '/account',
),
),
),
),
// more config ...
);
ScnSocialAuth模块使用forward()
插件从zfcusers注册视图(和登录视图iirc)呈现内容,这意味着它只会查看zfcuser
路由并完全忽略您的自定义路由。让它使用您的自定义路线的唯一方法是使用相同的代码替换ScnSocialAuths UserController,但转发到您的自定义路线(在那里做更多的工作,仍有可能打破任何其他需要zfcuser
的东西是使用的路线)