Я использую сессию, чтобы отслеживать пользователя на сайте - есть ли лучший способ - PullRequest
1 голос
/ 15 января 2012

У меня небольшая проблема с архитектурой.
На моем сайте пользователь может зарегистрироваться, и когда он входит в систему на основе идентификатора пользователя, я перенаправляю пользователя на его страницу профиля (что-то вроде Facebook).
Пользователь может с этой страницы нажать на другого пользователя из списка и перейти на страницу своего профиля.
Когда пользователь заходит на страницу профиля своего друга, он может получить доступ к некоторым ссылкам на этой странице, чтобы увидеть больше информации об этом друге (например, список друзей, изображения, информация и т. Д.).
Итак, что я делаю сейчас, когда пользователь нажимает на своего друга, я сохраняю friendID в сеансе. А потом, когда мне нужен доступ к чему-либо, я сначала получаю данные из сеанса и ухожу.
Интересно, хорошо это или плохо?
Это работает, но мне интересно, есть ли лучший подход?

1 Ответ

1 голос
/ 15 января 2012

ИМХО, это не очень хороший дизайн.Это похоже на использование глобальной переменной для ссылки на «текущего друга».Очевидно, что это делает невозможным просмотр информации о двух разных друзьях одновременно, например, открыв страницу «Информация о друге» в другой вкладке или окне браузера.

Она также связывает страницу «Информация о друге» сстраница "списка друзей".Это означает, что любая другая страница, которая хочет перейти на страницу информации о друге, должна добавить идентификатор друга в сеанс, и что вы вынуждены перейти на одну из этих страниц, чтобы просмотреть информацию о друге.Если пользователь добавит в закладки страницу с информацией о друге, закроет сеанс, снова откроет его и использует свою закладку, произойдет сбой.

И, наконец, приложение станет состоящим из состояния, в то время как оно может остаться без состояния, имеястраница списка "просто ссылка на страницу" информация о друге ", используя ссылку, такую ​​как friendInfo?friendId=<the friend ID>.

...