cakephp auth->admin 的登录重定向

2024-05-25

我对 cakePHP 相当陌生,并且已经阅读了蛋糕网站上的所有教程。我正在使用 cake 2.1 构建一个小型示例应用程序,但遇到了问题。基本上,我希望管理员用户在登录时重定向到与普通用户重定向到的页面不同的页面。我确信有一个简单的方法可以做到这一点,但我很挣扎!

我启用了管理路由并正在使用身份验证组件(以及 ACL 组件,尽管这不会影响我的问题)。我有 2 个登录名,一个用于管理员 - admin_login() ,另一个用于普通用户登录 - login() - 正常的非管理员登录工作正常。

在我的 AppController.php 中我有这个:

class AppController extends Controller {

public $components = array(
    'Acl',
    'Auth' => array(
        'authorize' => array(
            'Actions' => array('actionPath' => 'controllers')
        )
    ),
    'Session'
);
public $helpers = array('Html', 'Form', 'Session');

public function beforeFilter() {
    //Configure AuthComponent
    $this->Auth->allow('display'); // Allows access to the homepage of the app
    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
    $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
    $this->Auth->loginRedirect = array('controller' => 'posts', 'action' => 'add');
}

}

正如您所看到的,默认情况下用户在登录时会被重定向到帖子控制器的 add() 函数,效果很好。但是,如何为 admin_login() 函数设置不同的登录重定向?

我在这里读过很多帖子,但大多数都与旧版本的 cake 有关,而不是与 cake 2 有关。

如果有帮助,这是我在 UsersController.php 中的 admin_login 函数

public function beforeFilter() {
    parent::beforeFilter();
    $this->Auth->allow('logout');
}

public function admin_login() {
    if ($this->request->is('post')) {
        if ($this->Auth->login()) {
            if ($this->Session->read('Auth.User')) {
                $this->Session->setFlash('You are logged in!');
                //$this->redirect($this->Auth->redirect());

                // This doesnt work! Grrrrrr
                //$this->redirect(array('controller'=>'pages', 'action'=>'admin_index'));

                // This nearly works...
                if($this->Auth->user())$this->redirect(array('controller' => 'pages', 'action' => 'admin_index'));
            }            
        }
        else {
            $this->Session->setFlash('Your username or password was incorrect.');
        }
    }

有人能指出我正确的方向吗?


如果您的数据库中有角色 ->“管理员,用户”,请放入您的 AppController - beforeFilter():

if($this->Auth->user('role') == 'admin'){
     $this->Auth->loginRedirect = array('controller' => 'controller1', 'action' => 'action1');
}else{
     $this->Auth->loginRedirect = array('controller' => 'controller2', 'action' => 'action2');
}

如果你想知道 $this->Auth->user() 中有什么,只需输入:

debug($this->Auth->user());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cakephp auth->admin 的登录重定向 的相关文章

  • CakePHP Facebook 集成与 CakePHP-Facebook-Plugin 的注销问题

    我正在寻找一种方法CakePHP Facebook 插件 https github com webtechnick CakePHP Facebook Plugin让用户退出我的应用程序 但不让他们退出他们自己的 Facebook 如果我调用
  • CakePHP 验证错误消息

    我正在尝试修改 CakePHP 显示错误消息的方式 下面是用于显示错误的通用模板 div class error message Please enter at least 3 characters div 我想像下面这样设置错误的样式
  • 将变量从 PHP 传递到 JavaScript 的有效方法[重复]

    这个问题在这里已经有答案了 有时我必须将一些变量从 PHP 传递到 JS 脚本 现在我是这样做的 var js variable 但这非常丑陋 我无法在 js 文件中隐藏我的 JS 脚本 因为它必须由 PHP 解析 处理这个问题的最佳解决方
  • CakePHP 3.X 中的自定义 404 页面

    我想为生产环境中出现的所有错误创建一个自定义 404 页面 例如 如果我收到缺少控制器或视图错误 那么它将重定向到http example com 404 html 另外在某些情况下我会故意重定向它http example com 404
  • CakePHP 会话被写入 /tmp/ 而不是 /app/tmp/sessions/

    这里有类似的简单但未回答的问题 cakephp 会话 tmp sessions 中没有新文件 https stackoverflow com questions 24733151 cakephp session no new files i
  • cakephp 1.1 与 php 5.3

    我刚刚从 php 5 1 升级到 5 3 之前在我的服务器上使用 cakephp 1 1 自从升级 或者可能更早 我不确定 以来 我收到以下错误 任何人都可以透露一些信息 Deprecated Assigning the return va
  • CakePHP 查找 - 按字符串到整数排序?

    我想使用 CakePHP 从数据库中提取照片数组 按照片标题排序 0 1 2 3 我的查询当前看起来像 ss photos this gt Asset gt find all array conditions gt array kind g
  • 性能:cakephp-mysql 中的 UUID 与自动递增

    我正在搜索 cakePHP 生成的 UUID 32 个字符长 是否比自动增量在性能上更快 插入和选择操作的比较 我应该使用 cakePHP 生成的 UUID 还是使用 MySQL 的简单自动增量生成的 UUID 这是我发现的一个案例研究 但
  • 如何将“转到应用程序”按钮添加到现有页面[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个 Facebook 页面 我想将其与新应用程序关联 以便我可以在此页面上使用 转到应用程序 按钮 似乎没有任何方法可以将新应用程序关联到现有页
  • 未定义的变量:$_SESSION

    我越来越E NOTICE当核心 CakePHP 文件尝试引用从未设置或未设置的会话时 会出现错误 cake libs cake session php line 372 function read name null if is null
  • 如何在索引视图中打印关联数据

    subjects this gt Subjects gt find all contain gt Users fields gt Users username Users email gt hydrate false gt toArray
  • 如何防止 CakePHP 中重复表单提交?

    我发现 CakePHP 中的安全组件通过将令牌作为隐藏值添加到表单中来帮助防止 CSRF 我想知道是否有办法防止使用此组件或其他组件 帮助器重复表单提交 在之前的项目中 我使用了保存在会话中的唯一哈希值 该哈希值会在提交时读取并删除 重复提
  • CakePHP Unfilled 单选按钮在提交时更改为不需要的值

    我有这个表单元素 form gt input ChecklistResponseGovernmentInfo driversLicenseIsOnline array type gt radio empty gt true options
  • 具有 CRUD 功能的基于 Spring Web 的管理工具

    在 PHP Symfony 世界里有一个工具叫 Sonata Adminhttps sonata project org https sonata project org 基于 AdminLTE 模板 这是一款一体化管理工具 具有登录 菜单
  • Netbeans 6.8 中的 CakePHP 帮助程序自动完成

    谁能告诉我如何在 CakePHP 中 启用 CakePHP 的 Helper 自动完成功能 本质上是这样 例如 当我输入 form gt 它给了我一个清单 form的方法和变量 我读过了http bakery cakephp org art
  • 如何在 nginx 反向代理后面安全地检测 CakePHP 中的 SSL?

    CakePHP 我见过的所有版本 检查 SERVER HTTPS 查看请求是否是通过 HTTPS 而不是普通 HTTP 发出的 我使用 nginx 作为负载均衡器 后面是 Apache 应用程序服务器 由于 SSL 连接在负载均衡器处终止
  • Cakephp + 枚举支持:无法保存或选择枚举 0 和 1

    当我保存具有两个枚举字段的数据来管理消息状态时 即用户已读或未读 我使用枚举 1 0 来管理状态 1 gt 已读和 0 gt 未读 以下代码将保存消息 但在状态栏中保存空文件 data array message gt test messa
  • 是否可以将外部数据拖放到 jstree 中?

    我正在开发一个需要构建分层导航菜单的项目 jstree https www jstree com看起来很适合这个 该树将被保存到数据库中 我计划使用 CakePHP树的行为 https book cakephp org 2 0 en cor
  • 如何重写或设置cakePHP电子邮件组件中的返回路径?

    我正在使用 cakePHP 电子邮件组件从我的应用程序发送邮件 现在返回路径有类似的东西 电子邮件受保护 cdn cgi l email protection 使用 cakePHP 组件时 如何设置或重写电子邮件中的 Return Path
  • CakePHP 2.0 还需要在模型中声明 $name 吗?

    我的印象是我们必须声明 public name ModelName 在 PHP4 专用的模型中 现在 cakephp 不再支持 PHP4 我认为模型中不再需要 name 声明 不过 食谱仍然有包含它的说明 http book cakephp

随机推荐

  • 使鼠标移动像人类一样(使用弧线而不是直线到达目的地)

    我正在使用 java awt Robot 制作自动答题器 然而 我担心的问题之一是这些动作不太像人类 谁能建议对我的代码进行一些更改 使其更加人性化 现在它只是沿直线移动 param robot The java awt Robot bei
  • 为什么R中的转置函数将数字转换为字符?

    我在 Excel 中构建了一个简单的矩阵 其中包含一些字符值和一些数值 Excel 中设置的数据的屏幕截图 https i stack imgur com UpQ1I png 我使用 openxlsx 包将其读入 R 如下所示 librar
  • 即插即用 ID (PNPID) 对于每个设备来说都是唯一的吗?

    我使用 Windows 并希望为通过 USB 连接的外部硬盘找到唯一 ID 我发现 PnpID 0010101D400000000 这是独一无二的吗 如果我将其连接到其他 Windows 和 PC 这不会改变吗 还有其他硬盘不能有这个 Pn
  • LINQ to Entities 不支持指定的类型成员“UserName”

    我尝试使用 url 中的 id 参数来显示特定用户的图像 但收到以下错误消息 LINQ to 不支持指定的类型成员 UserName 实体 仅初始值设定项 实体成员和实体导航 支持属性 这是我的操作方法 HttpGet public Act
  • 使用 iText 在横向模式下将 html 转换为 pdf

    我正在尝试使用 iText 将 html 转换为 pdf 这是运行良好的简单代码 ByteArrayOutputStream pdfStream new ByteArrayOutputStream HtmlConverter convert
  • ng-repeat 和 ng-controller 在同一个 DOM 元素上

    我们可以将 ng controller 和 ng repeat 附加到同一个 DOM 元素吗 Fiddle http jsfiddle net ZXE4c 4 这是 HTML table tbody tr td user name td t
  • Linq 表达式将 DataTable 转换为 > 的字典

    我正在尝试转换以下形式的数据表 Key Value 1 A 1 B 1 C 2 X 2 Y 到字典 1 A B C 2 X Y 我使用的 lambda 表达式是 GetTable sql AsEnumerable Select r gt n
  • Flask - 如何从 JSON GET 请求获取参数

    我有一个发出以下 GET 请求的客户端 api GET tasks 5fe7eabd 842e 40d2 849e 409655e0891d 22task 22 22hello 22 22url 22 22 tasks 5fe7eabd 8
  • 难以理解汇编命令“加载有效地址”[重复]

    这个问题在这里已经有答案了 可能的重复 LEA 指令的目的是什么 https stackoverflow com questions 1658294 whats the purpose of the lea instruction LEA指
  • 地理位置邻近搜索

    应用程序中有一个要求 要求在谷歌地图中找出与特定国家和 或城市绑定的所有对象 我们使用谷歌地图 API 预先计算了具有各自纬度和经度的对象并将其存储在数据库中 有时 这些对象在它们可以提供服务的特定服务范围 半径内提供服务 例如现在的情况就
  • 通过向导方法使用内置 ASP.NET MVC 验证

    我正在使用JQuery Steps 插件基本表单示例 http www jquery steps com Examples basic form为了我的巫师 在此示例中 您会注意到他们使用的是 JQuery Validate 插件 该插件与
  • C# 循环位左溢出问题

    我已经尝试让它工作好几天了 我已经阅读了一千个指南和人们的问题 但我仍然找不到正确的方法 我想做的是将这些位向左旋转 这是一个例子 原数 10000001 129我需要 00000011 3 我必须将这些位向左旋转一定的次数 这取决于用户输
  • Smalltalk (Pharo) 如何简单地与用户交互

    我偶然发现了 Smalltalk 并进一步下载了 Pharo 因为它是推荐的 我的第一印象非常积极 我想移植一些我用 C 我的主要语言 编写的简单程序 这样我就可以感受一下 Smalltalk 但是 我意识到我找不到一种简单的方法来获取用户
  • Javascript JSON stringify 没有要包含在数据中的数字索引

    我正在尝试通过 JSON 传递非数字索引值 但没有获取数据 var ConditionArray new Array ConditionArray 0 1 ConditionArray 1 2 ConditionArray 2 3 Cond
  • Java 中的故障安全迭代器和故障快速迭代器是什么

    Java 中有两种类型的迭代器 故障安全迭代器和故障快速迭代器 这是什么意思 它们之间有什么区别 他们之间有什么区别 故障安全 在工程方面 https en wikipedia org wiki Fail safe 表示某事物发生故障但不会
  • 如何在NodeJs中应用Java/Spring的分层架构?

    我已经尝试学习 NodeJS 有一段时间了 所有书籍和教程似乎都遵循类似的代码结构模式 例子 const express require express const app express app set view engine hbs a
  • 提高此 Excel 公式性能的最快方法是什么?

    这是从下面的帖子更进一步的内容 如何克服Excel中公式的最大长度限制 excel的一个bug https stackoverflow com questions 32604740 how to overcome the max lengt
  • Spark 输出:日志式与进度式

    spark submit两个不同集群 都运行 Spark 1 2 上的输出看起来不同 一个是 日志式 即大量消息流 例如 15 04 06 14 53 13 INFO TaskSetManager Starting task 262 0 i
  • SQL Server 如何查看日期是否为当前月份?

    我有一个Ticket Date格式为的列YYYY MM DD HH MI SS 我想检查是否Ticket date是在当前月份 到目前为止我有 Ticket date gt 2015 04 01 and Ticket date lt 201
  • cakephp auth->admin 的登录重定向

    我对 cakePHP 相当陌生 并且已经阅读了蛋糕网站上的所有教程 我正在使用 cake 2 1 构建一个小型示例应用程序 但遇到了问题 基本上 我希望管理员用户在登录时重定向到与普通用户重定向到的页面不同的页面 我确信有一个简单的方法可以