1

经过一阵小小的头痛之后,我让 Tank Auth 在我的网站上完美运行。但是,它通过auth控制器中的函数完成所有工作,因此显示诸如site.com/auth/loginsite.com/auth/register等路径。

我希望能够处理所有与登录和注册/激活相关的功能,而无需www.site.com向用户显示域根 ( ) 以外的任何内容。最好的方法是什么?

即使我将auth控制器设置为默认控制器,它也只运行索引函数(当然),然后/auth/login/无论如何都会重定向到。

请记住,我对 CI 不熟悉,所以可能有一种我不知道的简单方法。

我不记得我使用的是哪个版本的 CI,但我在几周前下载了它,所以它是最新的。与坦克身份验证相同。

更新:

我将条目添加到routes.php文件中,以便至少/auth部分 URL 不再存在:

$route['login'] = '/auth/login';
$route['register'] = '/auth/register';
$route['forgot_password'] = '/auth/forgot_password';
$route['reset_password/(:any)/(:any)'] = '/auth/reset_password';
$route['activate/(:any)/(:any)'] = '/auth/activate';
$route['reset_email/(:any)/(:any)'] = '/auth/reset_email';

所有视图/电子邮件/链接都可以正常工作,但是我不再收到与操作相关的任何消息。例如,当请求重置密码时,输入我的电子邮件后,我通常会收到一条消息,说要检查我的电子邮件。或者,当我注册时,我会收到一条消息,说我需要通过电子邮件激活......等等。我不太明白为什么我不再收到这些消息。

4

1 回答 1

1

按照对我发布的问题的更新中提到的设置路线,为我提供了一个可以接受的原始问题的解决方案,但随后带来了丢失消息的问题(也提到了)。我发现这是由于消息被设置为会话 flashdata,在下一次服务器请求后被清除。重新路由一定会导致 flashdata 被清除。

我通过将消息设置为常规会话用户数据而不是 flashdata 来解决此问题,然后在显示后手动清除它。

这似乎是一个可以接受的解决方案。

于 2013-02-24T20:20:35.440 回答