У него в сессии будет только флаг доступа к тому или иному разделу, если нужно запретить пользователю, просто меняем программно ему флаг доступа и всё, больше не войдёт.Автор оригинала: c0dex
storng
А теперь подумай, ситуация...
Есть абстрактный юзер, у него есть открытые ему разделы, потом бац - ему требуется срочно закрыть доступ, а все данные у него в сессии уже, и?
Не мучай мозг себе, лазай в базу.
мне проще через сессии, собственно и вопрос возник, не будет ли всё сильно тормозить, если у пользователя в сессиях будет штук 500 переменныхАвтор оригинала: mity
А потом у Вас такой большой портал с огромной нагрузкой? Не заморачивайтесь сделайте как Вам проще, а затем когда нагрузка реально возрастёт и пробуйте перенести данные сесий в другое место, например в базу данных.
В данный момент я как раз и продумываю момент авторизации пользователей в разные категории сайта.Автор оригинала: c0dex
блин, значит чтобы закрыть ему доступ надо флаг поменять? А если флаг у тебя этот присвоен еще n-юзерам?
Я правда не знаю как ты там собрался организовывать все это в БД, что за флаги у тебя там, но чувствую, что у тебя уже сейчас в плане реализации - каша, если возникают такие дикие позывы писать по 500 переменных в сессию. Которая по идее то от БД сильно и не отличается. А если у тебя потом будет 2000 категорий?
Ясно, в общем не буду тогда заморачиваться и изыскивать кривые решения, сделаю действительно табличку из нескольких полей, и при открытии любой страницы категории буду в самом начале ходить в БД в эту табличку (напишу функцию, которую буду вызывать в начале всех страниц категорий - если возвращает 1, то доступ есть, если 0 - то нету)Автор оригинала: c0dex
storng
у тебя по фактической задаче, что ты привел - требуется табличка в БД, в виде id категории - id юзера (роли). Все, если такая строка есть - есть доступ, нету строки - нет доступа.
Хм, что здесь может тормозить я не знаю, нагрузку ты тоже не привел, при которой все тормозит. Можешь это все хоть в мемкеш запихать, на твой вкус
"кешировать табличку в быстрой памяти" не совсем понятно, как это можно реализовать?Автор оригинала: Dovg
Есть мнение, что лучше кешировать табличку в быстрой памяти, чем класть "длинного" пользователя в сессию.