2013-02-24 2 views
1

После небольшой головной боли, я получил Tank Auth, безупречно функционирующий на моем сайте. Тем не менее, он делает всю свою работу через функции в контроллере auth, и, таким образом, показывает пути, как site.com/auth/login, site.com/auth/register и т.д.Как я могу настроить Tank Auth в Code Igniter для обработки всех функций входа/регистрации в корне домена?

Я хотел бы быть в состоянии обрабатывать все входа и регистрации/активации функции, связанные без отображения не более, чем корень домена (www.site.com). Какой был бы лучший способ сделать это?

Даже если я установил контроллер auth в качестве контроллера по умолчанию, он запускает только функцию индекса (конечно), которая в любом случае перенаправляет право на /auth/login/.

Имейте в виду, что я новичок в CI, поэтому может быть просто простой способ сделать это, о котором я не знаю.

Я не помню точно, какую версию CI я использую, но я скачал ее менее чем пару недель назад, так что это довольно актуально. То же самое с Tank Auth.

Update:

добавить записи в файл 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'; 

Все работы просмотров/электронные письма/ссылки как и должно быть, однако я больше не получаю никаких сообщений, связанных с действиями. Например, при запросе сброса пароля, после ввода моего сообщения, я обычно получаю сообщение, которое говорит, чтобы проверить мой адрес электронной почты. Или, когда я зарегистрируюсь, я получаю сообщение о том, что мне нужно активировать по электронной почте ... и т. Д. Я не могу понять, почему я больше не получаю эти сообщения.

ответ

1

Установка маршрутов, упомянутых в обновлении к моему размещенному вопросу, предоставила мне приемлемое решение для моего первоначального вопроса, но затем возникла проблема с отсутствующими сообщениями (также упоминалось). Я обнаружил, что это связано с тем, что сообщения устанавливаются как session flashdata, которые очищаются после следующего запроса сервера. Повторная маршрутизация должна вызывать очистку flashdata.

Я обошел это, установив сообщения как обычные пользовательские данные сеанса вместо flashdata, а затем вручную очистив его после его отображения.

Это, кажется, приемлемое решение.