Yii-User和Yii-eauth集成

时间:2012-05-24 00:45:03

标签: authentication yii oauth widget

我正在尝试使用yii-useryii-eauth扩展程序整理一个应用程序,但我很简短。当我创建一个新的webapp并安装eauth时,我可以让它工作正常,所以我知道我在这方面没有做错任何事。我认为问题在于我的网址。这是它应该是什么样的演示:http://nodge.ru/yii-eauth/demo/login。当有人点击说谷歌它会带你到谷歌登录页面,但在我的应用程序上我收到404错误,指出"The system is unable to find the requested action "login"."这个网址是user/user/login/service/google_oauth,而网址应该是user/login/service/google_oauth 1}}。在手动将其输入浏览器后,我被重定向到右侧页面。

所以我查看了EAuthWidget.php课程,看看我是否能找到它从哪个额外的“用户”那里得到但我无法弄明白。我认为这可能与我在webapp中的/modules/user目录中的用户模块中有这个事实有关。我也尝试使用URLManager指向正确的地址,但没有运气。

有没有人有类似的经历来设置它?还是有什么建议?

1 个答案:

答案 0 :(得分:2)

您只需要在视图中更改窗口小部件初始化代码(即更改窗口小部件的action属性),有点像这样:

<h2>Do you already have an account on one of these sites? Click the logo to log in with it here:</h2>
<?php 
  $this->widget('ext.eauth.EAuthWidget', array('action' => 'login'));
?>

只是要添加,请记住,如果视图是 protected / views / site / login.php ,此操作取决于您包含此窗口小部件的视图 (这是yii的默认站点登录视图)然后操作应该能够转到yii-user模块的登录操作,因此它将是:'action'=>'/user/login',但是如果你将这个小部件包含在yii-user的 protected / modules / user / views / user / login.php 然后如前所述,操作将为'login'