Tank Auth 的 Codeigniter 路由设置

Posted

技术标签:

【中文标题】Tank Auth 的 Codeigniter 路由设置【英文标题】:Codeigniter Routing Settings for Tank Auth 【发布时间】:2011-04-24 11:06:03 【问题描述】:

我正在为我的应用程序使用 Tank-Auth。我遇到的唯一问题是激活和重置帐户密码。

用于登录、注册、注销;我对这些代码没有问题;

$route['login'] = "/auth/login";
$route['logout'] = "/auth/logout";
$route['register'] = "/auth/register";

但是对于激活帐户和重置密码,这些代码不起作用;

$route['activate/:num/:any'] = "/auth/activate/$1/$2";
$route['reset_password/:num/:any'] = "/auth/reset_password/$1/$2";

PS:“激活”之后的第一段是“用户 ID”,第二段是这样的键:example.com/activate/2/4784322e48916efec1153c53d25453c7

【问题讨论】:

【参考方案1】:

解决方案是从以下位置更改 (auth) 控制器中的 url 段:

    $user_id        = $this->uri->segment(3);
    $new_pass_key    = $this->uri->segment(4);

到这里:

    $user_id        = $this->uri->segment(2);
    $new_pass_key    = $this->uri->segment(3);

在此更改之后,activate&reset_password 的路由正在使用这些规则

$route['activate/:num/:any'] = "/auth/activate/$1/$2";
$route['reset_password/:num/:any'] = "/auth/reset_password/$1/$2";

【讨论】:

以上是关于Tank Auth 的 Codeigniter 路由设置的主要内容,如果未能解决你的问题,请参考以下文章

PHP:Tank Auth,需要特定的电子邮件地址才能登录

为 ion auth 和 codeigniter 构建表

Ion Auth (Codeigniter) - 如何使用不同的数据库

Codeigniter Ion Auth 编辑用户表

CodeIgniter 2,Ion Auth 在配置文件编辑时给出 CSRF 错误消息

CodeIgniter - 如何路由具有其他名称的控制器?