2010-09-25 5 views
0

Безопасно ли хранить роль пользователя в сеансе Codeigniter?Codeigniter: сохранение роли пользователя в сеансе

Роль определяет, какая функция будет у пользователя; который является администратором, обычным подписчиком или премиум-пользователем.

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

Просьба сообщить.

ответ

1

Да, это безопасно. Если он хранится в базе данных, пользователь не может ничего сделать, чтобы вмешиваться в данные.

0

Сохранение роли в сеансе, чтобы избежать запроса на него все время должно быть хорошо, если оно в основном статично.

Просто подумайте, что делать в граничном случае, когда роль пользователя редактируется, пока сеанс действителен (вошел в систему или не был истек). Если сессия будет признана недействительной для него, он должен снова войти в систему? Или ваше приложение знает, что эта роль теперь устарела и должна быть обновлена ​​из базы данных?

+0

Я использую Tank Auth в Codeigniter. Я не уверен, как мое приложение аннулирует сеанс, но он использует базу данных, так как Мэтью сказал, что я должен быть в безопасности, на что я действительно надеюсь. – Anraiki

+0

@Anraiki, что я имел в виду: скажем, пользователь X входит в систему, и вы меняете его роль. Как узнает обработчик сеанса, чтобы обновить это из базы данных, чтобы получить измененную роль? Возможно, вам нужен способ сделать недействительным сеанс для этого пользователя, чтобы он мог повторно войти в систему или узнать, как извлечь новую роль из базы данных. – Fanis

+0

Я думаю, что вы слишком усложняете ее. Если они хотят изменить роли от «user» до «admin», может быть функция, которая говорит что-то вроде $ this-> session-> set_userdata («role», «admin»). Вам также необходимо сохранить его в соответствующей строке пользователя, поэтому, когда они заходят в другое время, они правильно отражаются. – Matthew

Смежные вопросы