在 cakephp 2 的行为中读取会话变量

2023-12-01

我有一种行为可以根据会话中存储的用户 ID 来隔离用户数据。在 CakePHP 1.3 中你可以这样做:

App::import('Component', 'Session');
$session = new SessionComponent();
$session->read('Auth.User.id');

但在 CakePHP 2 中,您无法在行为中实例化这样的组件,因为 Component __construct 需要 Controller 的 ComponentCollection 作为参数。

是否可以在 CakePHP 2 的行为中访问会话变量?最好的方法是什么?


如果你看一下SessionComponent代码,你会看到它只是一个包装器CakeSession class.

所以你可以执行以下操作:

App::uses('CakeSession', 'Model/Datasource');
$user_id = CakeSession::read('Auth.User.id');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 cakephp 2 的行为中读取会话变量 的相关文章

  • 优雅地终止 WCF 服务 - 完成所有打开的会话并限制新会话

    我有一个我编写的 WCF 服务 它托管在 Windows 服务中 它以 PerSession 模式运行 该服务允许客户端通过该服务远程打开文件 更改文件以及关闭文件 到目前为止一切工作都非常顺利 当 Windows 服务停止时 我希望能够让
  • 按 ID 分组和按日期排序

    lastComments this gt Comment gt find all array fields gt array Comment news id Comment date Comment content group gt arr
  • Codeigniter - 检查用户是否已登录并存在(它是真实用户)

    我正在尝试在用户登录我的网站时为他们设置会话数据 因此 如果用户存在于数据库中 我将设置一个会话数据 例如 this gt session gt set userdata user exists 1 现在 每次我想检查用户是否存在并已登录时
  • 会话过期后如何重定向到登录页面?

    我有三个 JSF 2 0 Web 模块 当会话过期时我需要重定向到登录页面 我已经尝试过使用HttpSessionListener 它正在调用sessionDestroyed 事件方法 但我无法在那里转发 重定向请求 我认为这是因为没有Ht
  • CSS 不适用于 CakePHP 应用程序

    我在使用 CakePHP 时遇到问题 找不到 CSS 当我在浏览器中查看源代码时 我可以在头部看到蛋糕通用 CSS 链接 但是当我点击它查看实际的源代码时 我收到了 404 未找到错误 Update 我已按照此处的说明进行操作 http b
  • 字母数字验证在 jquery 中不起作用

    我的代码如下 包含所有必需的js文件 当我提交表单而不为 UserDetailAliasName 提供任何值时 表单不会提交并显示验证错误消息 此字段是必需的 但是如果我提交像 等值 表单会提交数据 我使用此表单从数据库搜索用户名 docu
  • CakePHP - 获取上次运行的查询

    我想获取 CakePHP 运行的最后一个查询 我无法在 core php 中打开调试 也无法在本地运行代码 我需要一种方法来获取最后一个 sql 查询并将其记录到错误日志中而不影响实时站点 该查询失败但正在运行 像这样的事情会很棒 this
  • 浏览器关闭时 Omniauth 会话过期

    在我的 Rails 3 应用程序中 我使用 Omniauth 进行用户身份验证部分 fb twitter 实际上我遵循这个 https github com RailsApps rails3 mongoid omniauth https g
  • 在会话 cookie 中存储大量数据会产生什么影响?

    谁能解释一下在会话中存储大量数据的缺点或给我指出一些阅读材料 我也很感兴趣在会话中存储数据和从数据文件读取数据之间是否有任何区别 如果您在会话中存储大量数据 则输入 输出性能会下降 因为会有大量读取 写入 默认情况下 PHP 中的会话存储在
  • 上游太大 - nginx + codeigniter

    我从 Nginx 收到此错误 但似乎无法弄清楚 我正在使用 codeigniter 并使用数据库进行会话 所以我想知道标题怎么会太大 有没有办法检查标题是什么 或者看看我能做些什么来修复这个错误 如果您需要我提供任何conf文件或其他文件
  • Cakephp 自定义日期输入表单助手的输出

    I got echo this gt Form gt input birthdate array label gt Geburtsdatum true dateFormat gt DMY minYear gt date Y 70 maxYe
  • 在 Bootstrap 中使用 CakePHP 时如何修改包装器 div 错误类

    我在用着Bootstrap 3 0RC1 with CakePHP 2 3 6 尝试利用那些漂亮的课程 例如has error and has warning for 验证状态 http getbootstrap com css forms
  • MVP - 演示者应该使用 Session 吗?

    我正在为网页使用模型 视图 演示者模式 演示者应该知道会话还是应该只有视图知道它 我想我的意思是像会话这样的概念与视图的体系结构非常相关 所以它们应该仅限于视图使用吗 否则 如果我想在不同架构的类似页面上重用演示者 会发生什么 或者我不需要
  • HttpSession 内的同步是否可行?

    UPDATE 问题后立即解决 问题 通常 同步是在 JVM 内序列化并行请求 例如 private static final Object LOCK new Object public void doSomething synchroniz
  • PHP 会话未保存

    我把这句话写在我网站每一页的第一行 include restd php 和restd php包含以下几行 session start if isset SESSION id else header location index php 我面
  • 如何配置 nginx 重写规则以使 CakePHP 在 CentOS 上运行?

    大家好 请帮帮我 我正在尝试在运行 Nginx 和 Fact CGI 的 Centos 服务器上设置 cakephp 环境 我已经在服务器上运行了一个 WordPress 站点和一个 phpmyadmin 站点 因此我已经正确配置了 PHP
  • CakePHP Auth 组件使用 $this->Auth->login() 时未登录;

    我是 cakePHP 的新手 我已经阅读了他们的文档 并且正在遵循他们的简单身份验证示例 我还广泛搜索 包括本网站上的答案 来寻找我的问题的答案 我正在使用 cakePHP 2 0 我的 UsersController 的登录功能如下所示
  • CakePHP 中没有模型的简单表单

    我正在尝试在产品页面中添加请求附加信息的表单 这是一个简单的表格 包含姓名 国家 地区 电子邮件和问题字段 我创立了这个tutorial http snook ca archives cakephp contact form cakephp
  • 查明具有特定 ID 的会话是否已过期

    我正在创建一个上传功能 将用户上传的文件存储在服务器上 并以用户的会话 ID 作为名称 现在 我只想将此文件保留在服务器上 直到该会话处于活动状态 所以 我的问题是 如何根据会话 ID 确定会话是活动的还是过期的 以便在后一种情况下我可以安
  • 如何安全地使用保留的 SQL 名称?

    我正在使用 Cakephp 3 使用 sqlserver 作为数据源服务器 我确信我的数据库连接没有问题 因为 home ctp 提示我已连接到我的数据库 并且我还使用迁移插件来创建我的表 似乎使用它没有问题这些工具 但是在我烘焙 MVC

随机推荐

  • 如何从 qcombobox 获取 itemdata?

    当我单击 QtWidgets QPushButton 以显示 QtWidgets QComboBox 中的 itemData 时 出现问题 我用以下代码填充我的组合框 self comboBox addItem Sandro 1 self
  • 从适用于 Android 应用 API 17+ 的 CellSignalStrengthLte 获取 RSRP

    在过去的十年里 有一些人问过类似的问题 但没有人有任何答案 我需要编写一个 Android 应用程序来收集和存储 RSRP RSRQ CINR 和 Cell ID 答案需要在手机硬件允许的范围内尽可能准确 我正在三星 Galaxy S5 上
  • 如何创建只读 ng-repeat?

    初始渲染速度非常慢ng repeat 如何创建只读版本ng repeat 这样当您迭代的数组发生更改时 呈现的 HTML 不会更改 双冒号使 Angular 中的内容成为只读 使用以下语法 ul li item name li ul
  • 图像无拉伸或裁剪

    我的问题很简单 假设我有两个矩形图像 第一个宽 200 像素 高 100 像素 第二个宽 100 像素 高 200 像素 我想以恒定的宽度 高度显示图像 例如150 像素 x 150 像素 无需拉伸图像以适应 我不介意图像周围有空白 填充
  • 如何向 JScrollPane 添加多个元素

    因此 我试图向 JScrollPane 元素添加多个元素 但到目前为止我还无法将其拉出 我可以使第一个元素显示出来 在我的例子中是一张图片 但是在向 JScrollPane 添加额外的面板后 第一个元素消失了 甚至第二个元素 新面板 也没有
  • .Net Standard 上的 Log4Net 没有用于在没有存储库的情况下获取记录器的版本

    我正在尝试将一个项目转移到 net 标准 它基本上是一个类库 我正在使用 log4net 进行日志记录 并且我正在使用该方法 public static ILog GetLogger string name 由于这是一个被多个项目引用的库
  • Mysql 的 WHERE in 子句问题

    mysql 中的 where in 子句有什么问题 我的两张桌子SEATS and REGISTERS看起来像这样 SEATS REGISTERS seat id int register id int seat id varchar 10
  • 更改 Android 上另一个应用程序的权限(已 root)

    我看到了一些关于此的主题 但没有一个真正谈到我想做的事情 我正在尝试编写一个应用程序 该应用程序将拒绝另一个应用程序连接到互联网 IE 防火墙 的能力 根据我创建的算法 它将确定该应用程序是恶意的 该应用程序将安装在已root的手机上 然后
  • C# 只读字段是否允许在类外部修改?

    我有一个readonly我通过构造函数参数设置的对象字段 如果我修改对象 类内的字段也会改变 我猜这是通过引用调用 有什么办法可以更好地做到这一点 防止它吗 private void Form1 Load object sender Eve
  • 打开关闭 GPS android [重复]

    这个问题在这里已经有答案了 可能的重复 如何以编程方式在 Android Cupcake 中启用 GPS 我目前正在 Android 中编写一个与 GPS 配合使用的应用程序 目前我可以确定 GPS 是否启用 我的问题是 如果禁用了 GPS
  • 减少 iTextSharp 上的段落换行高度

    当段落长度对于 ColumnText 的宽度来说太长时 如何减少换行符的高度 我尝试了以下方法 因为我看到了其他问题的答案 p Leading 0 但这并没有产生任何影响 我也尝试过增加Leading to 100看看是否添加了更大的换行符
  • 事件委托,Event.target 与 Event.currentTarget

    In MDN Event target 参考有一个关于实现事件委托的示例 事件委托示例 Assuming there is a list variable containing an instance of an HTML ul eleme
  • 使用提升日期的工作日持续时间

    有没有办法只得到没有 2 个提升日期之间的工作日 在下文中 我只获取日历日 date begin dt 2011 Aug 3 date end dt day clock local day days duration end dt begi
  • Asp.NET MVC 3 项目模板未显示

    我安装了 Async CTP 但不知道它会导致 Asp NET MVC 3 出现问题 因此 我按照所有可能的卸载说明重新安装了 SP1 和 MVC 3 但是 MVC 3 模板不会显示在新项目对话框中 我已确保对话框中的目标平台是 NET 4
  • 使用 shell 脚本仅从 sftp 获取最新文件

    我只需要按照日期从 sftp 获取最新文件 例如 yyyy mm dd 我尝试了较低的命令 但它将获取目录中的所有文件 latest file ls ltr tail 1 awk print 9 scp r latest file user
  • 依赖于私有 AZ 存储库的 Azure 构建管道

    我们在 Azure 存储库中有一个 Angular 项目 它引用依赖项下的 packages json 文件中的另一个私有 Azure 项目 存储库 该项目在本地为所有开发人员构建良好 但在 Azure Pipeline 中失败 身份验证失
  • oracle程序创建并运行ora-00900错误

    我在 dbeaver 中做了这样的 oracle 程序 CREATE OR REPLACE PROCEDURE p test IS I MESSAGE VARCHAR2 100 test BEGIN dbms output put line
  • C++ - 最佳实践:“使用 std::cout” 与“std::cout” [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我知道 在 C 中 我们永远不应该使用 using namespace std 两种可能的替代方案是 1 添加using std cout 在文件的开头 然后输入cout每当需要时 2 t
  • 是否可以在 PHP 中创建静态类(就像在 C# 中一样)?

    我想在 PHP 中创建一个静态类 并让它像在 C 中一样运行 所以 第一次调用类时会自动调用构造函数 无需实例化 诸如此类的东西 static class Hello private static greeting Hello privat
  • 在 cakephp 2 的行为中读取会话变量

    我有一种行为可以根据会话中存储的用户 ID 来隔离用户数据 在 CakePHP 1 3 中你可以这样做 App import Component Session session new SessionComponent session gt