问题标签 [cakephp-3.8]
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.
cakephp - 无法更新 CakePHP 3.8 中的记录
我遇到的问题是我无法更新我的 CakePHP 3.8 应用程序中的记录,它安装在实时服务器上。在我的开发服务器上它工作正常。
我可以插入新的,我可以删除,我可以选择,但我无法更新任何记录。
(当然,MySQL 用户有权更新记录。)
这就是编辑操作的工作方式,以及从未到达的部分代码:
我检查过pr($this->request)
,在尝试更新记录时没有“patch”、“post”或“put”方法,只有“get”。但为什么“得到”?
CakePHP 3.8 的 CSRF 组件有什么问题吗?
你能帮我解决这个问题吗?
先感谢您!
更新:这是我的表格:
而且,我在这个应用程序中的每个更新表单上都有同样的问题,在实时服务器上。在开发服务器上它工作正常。
更新 2:
在 mod 安全日志文件中,我收到以下消息:
请求:POST /locations/edit/3 操作说明:访问被拒绝,代码为 403(第 2 阶段)。理由:字符串匹配 REQUEST_COOKIES_NAMES:CAKEPHP 处的“cakephp”。
我在 bootstrap.php 和 app.php 中添加了以下行,但错误消息保持不变:
cakephp-3.8 - 在查询生成器中创建文本,选择
我需要在查询生成器选择中添加文本。
php - CakePHP 3.8.6:即使没有注销,身份验证也不会阻止多次登录
我一步一步地遵循了CMS 教程,直到我添加了登录/身份验证代码,一切都运行良好。添加登录代码后,(我已经编辑了现有密码以使用 DefaultPasswordHasher 并创建了一个新用户)user1
如果我尝试通过即将
并登录为user2
,它允许我这样做,它应该说“User1 已登录”之类的内容并将我重定向到默认页面。
就我的理解而言,我发现奇怪的 b'coz,它使用当前登录的用户 => 不应该允许多次登录,但是 Auth 组件不会检查用户是否已经登录。实际上,有没有什么能阻止我在浏览器上打开多个选项卡并以我想要的任意数量的用户身份登录,只要这些用户在数据库中!
另外,当我调用注销页面时
它会注销所有登录的用户,我猜它需要 $this->Auth->logout();
当前登录的用户!虽然,我没有为 user1 调用注销页面,例如,我已经为 user2 调用了注销,但两者都已注销,我必须再次以 user1 身份登录!
所以,这是我的问题:当用户已经登录并再次请求登录页面时,我该如何处理?如何处理多个用户同时登录的情况?
php - CakePHP 3.8.6:添加新内容时授权失败
鉴于我是 CakePHP 的新手,我不禁注意到授权中的明显失败。同样,当我添加授权代码并以 user1 身份登录到文章/添加页面时,继续CMS 教程,一切都很好。然后我从下拉列表中选择用户(在运行cake bake all articles
命令并按照教程重新修改 ArticlesController.php 并且不修改 '.ctp 文件后),用户 ID = 2,创建文章并能够保存它同样,虽然我以 user1 的身份登录,用户 ID = 1!我也觉得很奇怪。然后我尝试编辑 user2 的文章,它正确地给出了“未经授权的访问错误”,但是当我尝试编辑 user1 自己的文章时,它给出了如下错误:
错误信息(ArticlesController.php,第 154 行)对应的代码如下:
这意味着无论哪个用户登录,编辑功能都不起作用。
- 当一个用户(比如 user1)尝试使用除他自己以外的用户 ID 保存文章时,授权如何工作?
- 为什么授权码不允许user1编辑自己的文章?
在此先感谢,斯鲁普
jquery-ui - 带有 Jquery 自动完成功能的 CakePhp 3.8 不起作用
我正在尝试使用自动完成 jquery 函数来完成具有两个源值之一的字段:['pere','mele']。不幸的是,它不起作用。
默认.ctp
在视图文件中
在js文件single.js中
在控制台谷歌浏览器中
不幸的是,即使控制台没有给出错误,该文件也不起作用
authentication - Cakephp 3 身份验证插件,登录 URL 不匹配
我想使用 CakePHP 3.8 的身份验证插件,但我遇到了文档中没有的问题。
在遵循入门(https://book.cakephp.org/authentication/1/en/index.html)之后,我有一个问题。
最初指定 $fields 来更改真实数据库中的用户名和密码关系,与 Auth 组件相同,登录 URL 是登录表单 si 加载的位置。
首先,在入门或文档的任何部分都没有说明登录视图(表单),因此,就像旧的 Auth 组件一样,我将其创建到 Users/login.ctp
我在 Application.php 中的代码包括这个(及其各自的用途和实现):
但是当我尝试登录时,我有这个错误,在 login.ctp 中的 var_dump 之后我得到这个:
如果我评论'loginUrl' => '/users/login'
行,那么登录工作正常。
附加说明: - 我已经使用散列和文本平面密码进行了测试,结果相同。- 我添加$this->Authentication->allowUnauthenticated(['view', 'index', 'login', 'add']);
了 beforeFilter 来访问登录。- 这是一个干净的 cakephp 3.8 安装,只有数据库是相同的测试。- 我只用蛋糕控制台添加了 Crud。
我想了解有关该 loginURL 的更多信息,我应该在 UsersController 中包含一些用途?是什么导致了这个错误?
谢谢
php - 实现带有错误下划线的表:致命错误:调用成员函数
当我实现一个名为 example_a 调用的表时:
- 模型/实体:ExampleA.php
- 模型/表格:ExampleATable.php
- 控制器:ExampleAController.php
- 模板/示例A:index.ctp
给我以下错误:
注意(1024):未定义的属性:ExampleAController :: $ ExampleA in C: Program Files ...</p>
致命错误:在布尔值上调用成员函数 find ()
要打印控制器中的对象列表,请实现一个功能:
我指定此表与其他表没有任何关系
相反,如果我做同样的事情来实现一个没有下划线的表格,它就可以工作
authentication - How to allow to unauthenticated users see some specific pages or actions pages in Cake PHP 3?
With CakePHP 3 we used Auth component and this worked like this CakePHP - How to allow unauthenticated access to specific pages
Now I'm trying to use the new Authentication and Authorization plugins instead (I don't know if it is the best solution).
I have this case:
I have some tables in the database for entities (cars, brands, and users). I have users and 4 level user roles (pyramid). - Admins can change everything - Editors can see and add brands and cars, but only can edit or update cars and brands created by themselves. - Registered users can add only cars and edit their cars (and see all cars and brands). - Anonymous users can see all but only can create a user account.
Authentication works well alone. To allow anonymous user access to content I use $this->Authentication->allowUnauthenticated(['login', 'add']);
but when I load Authorization plugin, everything give error.
Do I need to specify all Authorization access with authorizeModel and other functions? There is a way to authorize at the same time with both plugins? Do I really need Authorization plugin for this and is recommended or Authentication plugin can handle this?
With previous Auth component I worked with something like this piece of code:
In AppController.php
In UsersController.php
In Cars and Brands controllers
Followed from https://book.cakephp.org/3/es/tutorials-and-examples/blog-auth-example/auth.html
My versions are: - CakePHP 3.8 - Authentication plugin 1.4 - Authorization plugin 1.3
Sorry if my question is a bit basic but documentation is not very clear with this. I can add more details if needed.
Edit: If I quit unauthenticatedRedirect I get:
If I add requireItentity as false, in AppController
I get (where / is the path, can be /cars /brands)
If I use this in AppController (always Authentication before Authorization)
and this in Application
I send all users to login page but authorization checks error appears.
With $this->Authorization->skipAuthorization();
in beforeFilter() user can see the pages and works but I don't know if it is appropriated.
If I use this in any controller beforeFilter $this->Authorization->authorizeModel('index', 'add', 'display' ...);
I get
In home (or pages controller) I get
Do I really need to create policies for each table? I think is more complex than previous Auth component or maybe I'm doing something wrong.