我一直在環視坦克認證代碼,看看事情是如何完成的,但看起來有點困惑,找出如何更改默認登錄路徑。如何使用Tank auth更改登錄URL?
我想將其更改爲groups/login
或users/sign_in
,但這並非易事。我想知道是否應該從路由文件或其他文件中更改它。
任何想法如何解決這個小問題?
我一直在環視坦克認證代碼,看看事情是如何完成的,但看起來有點困惑,找出如何更改默認登錄路徑。如何使用Tank auth更改登錄URL?
我想將其更改爲groups/login
或users/sign_in
,但這並非易事。我想知道是否應該從路由文件或其他文件中更改它。
任何想法如何解決這個小問題?
我不知道我是否應該是改變由路由文件
是的,這正是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'));
。
感謝@Madmartigan的偉大答案。而這正是我認爲應該的地方。然而,有一點我仍然不明白。當我如上所述將** $ route [] **更改爲其他內容時,我必須禁用舊的url,但如果我自己不寫它,它會一直重定向到舊的url。任何想法如何處理?還是必須更改整個代碼中的所有重定向函數? – 2012-03-04 03:09:04
我明白了,請參閱更新。是的,您必須手動更改重定向,因爲網址是硬編碼的。有幾種方法來處理它,但這是最簡單的。 – 2012-03-04 03:44:26
Thanks @Madmartigan,這是一個很好的解決方案。如果事情沒有問題,我會嘗試一下並在這裏留下反饋意見。再次感謝 – 2012-03-04 04:14:42
爲什麼不只是將控制器的名稱從'Auth'更改爲任何你想要的?似乎最短的路線給我。
問題是你還必須在整個應用程序中更改路徑/ URL'/ auth'的每個實例。通過使用路線和配置項目,只需在兩處編輯即可將其快速更改爲任何您想要的內容。如果你問我,最短的路線是讓它獨自一人;) – 2012-03-04 04:34:43
@Prolamge,我也嘗試過,但沒有成功。單獨更改'Auth'不會使事情發揮作用,因爲它會重定向到您選擇的不同url名稱,但會出現錯誤「404錯誤頁面」。我知道解決方案很長,但可以讓您完全控制這些網址 – 2012-03-04 07:16:12
好的,我想回答我自己的問題,但是我可以做一些小事,這正在改變路徑的第二部分。這些登錄,註冊,註銷等等實際上是在控制器中的auth.php文件的坦克auth中構建的函數。如果您決定更改任何函數名稱,請確保在坦克認證庫中包含的所有文件中更改其名稱。我仍然需要有人回答第一部分關於如何更改**/auth/**目錄 – 2012-03-03 22:00:06