问题标签 [cakephp-routing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3635 浏览

php - cakePHP- 角色授权和路由

我完全不知道如何做到这一点。我有 3 个不同的角色:管理员、员工和捐赠者。我的问题是,如果未经授权的用户尝试从 URL 访问操作,它确实会混淆(无论如何对我来说)权限和适当的重定向。

在我的 UsersController 中,我有以下操作

  1. 管理索引
  2. 管理员添加
  3. admin_edit
  4. 管理员视图
  5. 管理员删除

无前缀动作

  1. 登录
  2. 登出
  3. 看法
  4. 添加
  5. 编辑

应该允许管理员访问所有以管理员为前缀的操作以及登录和注销,而工作人员和捐助者应该只能访问后者 5. 另请注意,所有用户都使用相同的登录表单。

在我的 AppControlles 组件中,我有以下内容:

但是,在我的登录操作中,我检查用户角色以相应地更改 loginRedirect:

问题 1 现在,如果具有捐赠者角色的当前用户登录并尝试访问,localhost/sitename/admin/users/add他将被重定向到admin/donors而不是仅/donors. 那么我怎样才能删除管理员前缀呢?

问题 2 我也不完全理解 hwo $this->Auth->allow(), works.. 如果在我的捐助者控制器中我想根据角色控制对控制器操作的访问,我该怎么做?例如,如果我的捐助者控制器中有“删除”操作,我将如何允许工作人员用户同时拒绝捐助者用户访问删除操作。我相信 beforeFilter 是解决方案,但找不到怎么做!任何指针?谢谢

0 投票
1 回答
955 浏览

.htaccess - CakePHP 没有正确重定向

我刚刚完成了入门教程 ( http://book.cakephp.org/2.0/en/getting-started.html ) 并将我的文件放在 Apache 服务器上,该服务器将 Drupal projet 作为根 URL。

Cakephp 的索引页面加载正常,但是当我单击任何项​​目时,将我的根 url 更改为类似root/posts/view/2的,它显示 Drupal 的页面未找到错误。

我想这可能是一个重写问题。我的 CakePHP 目录有一个 .htaccess 文件,其中包含:

我的启用 apache2 站点的 conf 以:

当我从以下位置更改索引操作路线时:

至 :

我遇到了与上述相同的错误。

有什么线索吗?

0 投票
2 回答
87 浏览

cakephp-2.0 - CakePHP 路由到控制器和页面

是否可以在同一网址中识别控制器和页面名称

Router::connect('/:controller/'); Router::connect('/:pagename/', array('controller' => 'home','action'=>'index'));

www.example.com/controller 以便控制器转到 :controller/index

www.example.com/pagename 以便页面转到 home/index

0 投票
1 回答
55 浏览

php - 当参数未通过 url 传递给控制器​​时

在 cakephp 中,我有一个控制器,它应该接收一个参数,然后调用模型来使用数据库以在视图中显示结果。很常见的 mvc 方法。

将控制器想象为应该与特定用户关联的“插入新帖子”。

所以,网址应该是:http://mysite/inspost/(user_id).

问题是,当 URL 像http://mysite/inspost/

即使未指定 user_id,它也会显示相同的视图并插入新帖子。

我该如何控制这个?

0 投票
1 回答
1177 浏览

php - CakePHP 为带有 slug 和日期的帖子创建路由

现在我的 CakePHP 博客有这些路线

我想让我的帖子 URL 包含日期

如何设置我的路线/动作以适应这种情况?当我创建这样的链接时,我可以拥有它吗

它会自动添加日期参数吗?

更新

我让它工作了

我创建了这条路线

我没有为此创建自己的助手,而是覆盖了 AppHelper 中的 url 方法

然后我创建链接

0 投票
1 回答
377 浏览

cakephp - 如何在不更改 CakePHP 中的 HtmlHelper#link(...) 调用的情况下重新定义 URL 生成?

我有一个带有许多内部链接的 CakePHP 网站,这些链接是使用以下内容构建的HtmlHelper

/app/View/MyController/myaction.ctp

它适用于默认路由:

/app/Config/routes.php

生成的链接如下所示:/mycontroller/myaction/$profileId/$languageId.

现在我想为网站的一部分使用搜索引擎友好的 URL(使用配置文件名称和 ISO-639-1 语言代码而不是 ID)并添加了一个新路由:

/app/Config/routes.php

而且它也可以正常工作,并且可以正确解释传入的 URI /producer/en/TestName.html

HtmlHelper仍在生成旧的 URI,如/mycontroller/myaction/1/1.

文档说:

反向路由是 CakePHP 中的一项功能,用于允许您轻松更改 URL 结构,而无需修改所有代码。通过使用路由数组来定义您的 URL,您可以稍后配置路由,并且生成的 URL 将自动更新。

好吧,HtmlHelper得到一个路由数组作为输入,这意味着:我正在使用反向路由。

为什么它不起作用?如何HtmlHelper生成新的 URL(不更改HtmlHelper#link(...)调用)?

0 投票
1 回答
659 浏览

php - CakePHP 访问被拒绝

在 CakePHP 中,我有这样的配置:

现在我无法理解它不起作用的原因!

我看不到“view_services.ctp”。服务器将我重定向到“access_denied.ctp”页面,但在“view_services.ctp”中我没有对身份验证进行任何控制,所以也许我正在做其他错误。有人可以帮助我吗?

谢谢!

0 投票
0 回答
127 浏览

cakephp - CakePHP 中的重定向路由

我正在尝试设置 CakePHP 重定向路由,但我被卡住了。到目前为止,阅读这本书并没有帮助。

我想将 URL 重定向/mysite/xyz/mysite/en/xyz(包括语言参数)

最终 URL 的路由/mysite/en/xyz, 是这样设置的,并且工作正常:

重定向路由设置如下:

但是,如果我现在访问 URL /mysite/xyz,我将被重定向到/mysite/mysite/en/xyz/en- 请注意参数的重复。

如何正确设置?

0 投票
1 回答
504 浏览

php - Cakephp 路由控制器别名

我正在尝试与这个站点一样,stackoverflow,对他们的 URL 做同样的事情。

CakePHP 的工作方式如下:网站/控制器/动作/

我想配置路由来实现这一点:

myWebSite.com/questions/(question_id )/ (问题) /

例如:myWebSite.com/questions/12874722/ cakephp-routing-controller-alias/

我没有弄清楚如何做 URL 的这个粗体部分。

0 投票
1 回答
117 浏览

php - 与 cakephp:2.5.4 中先前前缀页面上的另一个前缀链接

我正在尝试实现cake_proj/prefix2/controller2/action此页面上的链接是谁的链接 -cake-proj/'prefix1' => true在我的页面中,routes.php因为这是home页面,所以最终它的链接是cake_proj/prefix1/controller1/action. 所以现在我正在尝试cake_proj/prefix2/controller2/action借助 Html 助手的链接方法来实现 -

但是有了这个我得到链接作为cake_proj/prefix1/controller2/prefix_action通知here它不会改变前缀。我不想失去 CakePHP 的路由功能,但仍然想克服这个问题。我提到了一些以前回答的问题,但对我没有用。请帮忙。