2012-03-03 53 views
1

我一直在环视坦克认证代码,看看事情是如何完成的,但看起来有点困惑,找出如何更改默认登录路径。如何使用Tank auth更改登录URL?

我想将其更改为groups/loginusers/sign_in,但这并非易事。我想知道是否应该从路由文件或其他文件中更改它。

任何想法如何解决这个小问题?

+0

好的,我想回答我自己的问题,但是我可以做一些小事,这正在改变路径的第二部分。这些登录,注册,注销等等实际上是在控制器中的auth.php文件的坦克auth中构建的函数。如果您决定更改任何函数名称,请确保在坦克认证库中包含的所有文件中更改其名称。我仍然需要有人回答第一部分关于如何更改**/auth/**目录 – 2012-03-03 22:00:06

回答

2

我不知道我是否应该是改变由路由文件

是的,这正是URI Routing是:

$route['your/desired/url'] = 'auth/login'; 

如果你需要杀死老的URL某些原因,您可以将其设置为空:

$route['auth/login'] = FALSE; 

不幸的是,Tank Auth登录URL被假定为auth/login,并且有几个必须被编辑的重定向。我建议添加自定义配置设置config/tank_auth.php

$config['login_url'] = 'your/desired/url'; 

然后用替代的redirect('/auth/login')所有出现:在Auth控制器,它似乎在其他地方

redirect($this->config->item('login_url', 'tank_auth')); 

+0

感谢@Madmartigan的伟大答案。而这正是我认为应该的地方。然而,有一点我仍然不明白。当我如上所述将** $ route [] **更改为其他内容时,我必须禁用旧的url,但如果我自己不写它,它会一直重定向到旧的url。任何想法如何处理?还是必须更改整个代码中的所有重定向函数? – 2012-03-04 03:09:04

+1

我明白了,请参阅更新。是的,您必须手动更改重定向,因为网址是硬编码的。有几种方法来处理它,但这是最简单的。 – 2012-03-04 03:44:26

+0

Thanks @Madmartigan,这是一个很好的解决方案。如果事情没有问题,我会尝试一下并在这里留下反馈意见。再次感谢 – 2012-03-04 04:14:42

0

为什么不只是将控制器的名称从'Auth'更改为任何你想要的?似乎最短的路线给我。

+1

问题是你还必须在整个应用程序中更改路径/ URL'/ auth'的每个实例。通过使用路线和配置项目,只需在两处编辑即可将其快速更改为任何您想要的内容。如果你问我,最短的路线是让它独自一人;) – 2012-03-04 04:34:43

+0

@Prolamge,我也尝试过,但没有成功。单独更改'Auth'不会使事情发挥作用,因为它会重定向到您选择的不同url名称,但会出现错误“404错误页面”。我知道解决方案很长,但可以让您完全控制这些网址 – 2012-03-04 07:16:12