1

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

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

有没有人有类似的设置这个经验?或者有什么建议?

4

1 回答 1

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'如前所述。

于 2012-05-24T09:36:16.297 回答