Kant #901 18 февраля 2013 Ну когда у меня в проекте ролей было всего 2, то никаких проблем.А вот когда из станет много, дописывать кучу таких ифелсов в десяткях экшенов не самое красивое занятие Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
rubish #902 18 февраля 2013 Ну когда у меня в проекте ролей было всего 2, то никаких проблем.А вот когда из станет много, дописывать кучу таких ифелсов в десяткях экшенов не самое красивое занятиену тогда придётся bre какой-то писать, который будет инкапсулировать в себе эту логику, но от ролей в контроллере ты никуда не денешься, ведь читать контекст запроса из сервисов или репозитория - это вообще бред Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #903 19 февраля 2013 Посмотрел код 2роя, это блять филиал говнокод.ру, что за пиздец Кто в здравом уме делает статическую авторизацию? А если у тебя будет меняться стратегия авторизации или логика самой авторизации? Ты будешь сотню иф/элсе внутри своего Ауторизейшен лепить? И нахуя эти паленые if/else на каждый чих? Если не авторизирован ебани AuthorizationException, будь мужиком, блеать! И вообще, если у тебя авторизация отвечает за какую-то логику, то это треш и содомия, прямой путь в ад. Сделай фасад для юзера (наверняка у тебя будут юзеры с различными правами и уровнями доступа) и после авторизации инициализируй Юзера, если не авторизовался пользователь пусть будет какой-нибудь GuestUser, через фасад получай юзера и уже с него проверяй куда он может лазить, куда нет.Там основная авторизация на стороне вордпресса. Моя авторизация по сути ждля большей безопасности и доступа к внутренней секции. В том классе очень много инкапсулированно, поэтому я решил вынести это в отдельный класс.сотни if/else покрывают все возможные варианты.Да я запутал лоику, и от того класса меня тошнит.Но я его дописал. Он работает. Испытания прошел.Все. Больше я его не трогаю. Забыл. На счет второго можно подумать. Но уже поздно менять. Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #904 19 февраля 2013 Ну когда у меня в проекте ролей было всего 2, то никаких проблем.А вот когда из станет много, дописывать кучу таких ифелсов в десяткях экшенов не самое красивое занятиену тогда придётся bre какой-то писать, который будет инкапсулировать в себе эту логику, но от ролей в контроллере ты никуда не денешься, ведь читать контекст запроса из сервисов или репозитория - это вообще бредКак раз-таки не бред. Ты его один раз читаешь, кешируешь и каждый раз используешь. Если политика изменилась, то делаешь сброс кеша. А вот городить иф/элсе это пиздец полный. Особенно если у тебя динамические роли пользователей и ты можешь сам создавать собственные роли с определенным набором доступов и прав. Поделиться сообщением Ссылка на сообщение
rubish #905 19 февраля 2013 Как раз-таки не бред. Ты его один раз читаешь, кешируешь и каждый раз используешь. Если политика изменилась, то делаешь сброс кеша. А вот городить иф/элсе это пиздец полный. Особенно если у тебя динамические роли пользователей и ты можешь сам создавать собственные роли с определенным набором доступов и прав.что значит кешируешь? стейтлес приложение ведь Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #906 19 февраля 2013 Как раз-таки не бред. Ты его один раз читаешь, кешируешь и каждый раз используешь. Если политика изменилась, то делаешь сброс кеша. А вот городить иф/элсе это пиздец полный. Особенно если у тебя динамические роли пользователей и ты можешь сам создавать собственные роли с определенным набором доступов и прав.что значит кешируешь? стейтлес приложение ведьПриложение то пускай стейтлесс, но гранты то стейтфулл, или у тебя гранты у пользователей каждый раз вычисляются? В таком случае во всех нормальных системах используются лисенеры на какие-то кастомные вещи. Поделиться сообщением Ссылка на сообщение
rubish #907 19 февраля 2013 Приложение то пускай стейтлесс, но гранты то стейтфулл, или у тебя гранты у пользователей каждый раз вычисляются? В таком случае во всех нормальных системах используются лисенеры на какие-то кастомные вещи.какая разница вычисляются пермишны пользователя или нет. от пользователя приходит кука, по куке вычисляют в какой он роли, а дальше в зависимости от этого идут все эти ифы Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #908 19 февраля 2013 Щитать по кукам роль юзера, это не круто Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #909 19 февраля 2013 Приложение то пускай стейтлесс, но гранты то стейтфулл, или у тебя гранты у пользователей каждый раз вычисляются? В таком случае во всех нормальных системах используются лисенеры на какие-то кастомные вещи.какая разница вычисляются пермишны пользователя или нет. от пользователя приходит кука, по куке вычисляют в какой он роли, а дальше в зависимости от этого идут все эти ифыПо кукам роль? Ты чушь то не пори. Поделиться сообщением Ссылка на сообщение
rubish #910 19 февраля 2013 Приложение то пускай стейтлесс, но гранты то стейтфулл, или у тебя гранты у пользователей каждый раз вычисляются? В таком случае во всех нормальных системах используются лисенеры на какие-то кастомные вещи.какая разница вычисляются пермишны пользователя или нет. от пользователя приходит кука, по куке вычисляют в какой он роли, а дальше в зависимости от этого идут все эти ифыПо кукам роль? Ты чушь то не пори.а как еще ты определишь пользователя? Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #911 19 февраля 2013 В сессии хранить идентификатор пользователя. Подменить SESSION_ID невозможно, он генерируется для конкретной сессии браузера, закрыл браузер, открыл, прошлая сессия протухнет по таймауту и ты уже к ней не вернешься, нужно заново логиниться. Вообще, что либо хранить в куках в корпоративном ПО, это полный провал. В тоже время пихать в сессию гранты пользователя тоже хреново, ибо она будет распухать для каждого пользователя. Поделиться сообщением Ссылка на сообщение
rubish #912 19 февраля 2013 В сессии хранить идентификатор пользователя. Подменить SESSION_ID невозможно, он генерируется для конкретной сессии браузера, закрыл браузер, открыл, прошлая сессия протухнет по таймауту и ты уже к ней не вернешься, нужно заново логиниться. Вообще, что либо хранить в куках в корпоративном ПО, это полный провал. В тоже время пихать в сессию гранты пользователя тоже хреново, ибо она будет распухать для каждого пользователя.а как ты думаешь аппликейшн сервер определяет какой объект сессии загружать для конкретного запроса? Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #913 19 февраля 2013 (изменено) В сессии хранить идентификатор пользователя. Подменить SESSION_ID невозможно, он генерируется для конкретной сессии браузера, закрыл браузер, открыл, прошлая сессия протухнет по таймауту и ты уже к ней не вернешься, нужно заново логиниться. Вообще, что либо хранить в куках в корпоративном ПО, это полный провал. В тоже время пихать в сессию гранты пользователя тоже хреново, ибо она будет распухать для каждого пользователя.а как ты думаешь аппликейшн сервер определяет какой объект сессии загружать для конкретного запроса?на клиенте в виде куки сессиив сессии хранить айдииз айди получать данные на юзера 3333 сообщениеграц меня Изменено 19 февраля 2013 пользователем 2poy_nyasha Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #914 19 февраля 2013 В сессии хранить идентификатор пользователя. Подменить SESSION_ID невозможно, он генерируется для конкретной сессии браузера, закрыл браузер, открыл, прошлая сессия протухнет по таймауту и ты уже к ней не вернешься, нужно заново логиниться. Вообще, что либо хранить в куках в корпоративном ПО, это полный провал. В тоже время пихать в сессию гранты пользователя тоже хреново, ибо она будет распухать для каждого пользователя.а как ты думаешь аппликейшн сервер определяет какой объект сессии загружать для конкретного запроса?Я не думаю, я знаю как он это делает, по крайней мере в JAVA. В любой момент времени ты можешь получить ссылку на текущую сессию, если сессии нет, то она автоматом создастся (есть исключительные случаи когда этого делать не надо), в сессии лежит мапа параметров, необходимое условие чтобы все объекты которые в ней лежат были сериализуемые. Таким образом все что тебе нужно сделать после логина пользователя на сайте, взять сессию (если её не было, автоматом создастся) и положить под каким-то ключом пользователя в неё как объект. Если пользователь закроет браузер и заново откроет, сессия будет потеряна, нужно заново логиниться, если же нажмет кнопку логаут, можно принудительно завершить и очистить сессию. В пхп очень похожий механизм, но только сессии в пхп, это файлики на диске, он не умеет ин мемори хранить, так что надо быть осторожнее чтобы не спиздили (на говнохостингах они обычно на уровень выше апликейшена лежат чтобы криворукие уёбки не просрали все на свете). Поделиться сообщением Ссылка на сообщение
rubish #915 19 февраля 2013 Я не думаю, я знаю как он это делает, по крайней мере в JAVA. В любой момент времени ты можешь получить ссылку на текущую сессию, если сессии нет, то она автоматом создастся (есть исключительные случаи когда этого делать не надо), в сессии лежит мапа параметров, необходимое условие чтобы все объекты которые в ней лежат были сериализуемые. Таким образом все что тебе нужно сделать после логина пользователя на сайте, взять сессию (если её не было, автоматом создастся) и положить под каким-то ключом пользователя в неё как объект. Если пользователь закроет браузер и заново откроет, сессия будет потеряна, нужно заново логиниться, если же нажмет кнопку логаут, можно принудительно завершить и очистить сессию. В пхп очень похожий механизм, но только сессии в пхп, это файлики на диске, он не умеет ин мемори хранить, так что надо быть осторожнее чтобы не спиздили (на говнохостингах они обычно на уровень выше апликейшена лежат чтобы криворукие уёбки не просрали все на свете).ну ты так и не ответил как аппликейшн сервер определяет какой инстанс сессии разворачивать для конкретного запроса Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
TycoooN #916 19 февраля 2013 Лол чо вы гоните, в конечном счете данные о том, какой юзер залогинился, хранятся в кукисах. А дальше их уже обрабатывает сервер, выбирая нужную сессию или нужную запись в БД, или еще что угодно. Поделиться сообщением Ссылка на сообщение
rubish #917 19 февраля 2013 Лол чо вы гоните, в конечном счете данные о том, какой юзер залогинился, хранятся в кукисах. А дальше их уже обрабатывает сервер, выбирая нужную сессию или нужную запись в БД, или еще что угодно.ну я в общем-то это и хотел услышать от димана тим менеджера.ид сессии хранится в куке. Ну и использовать сессию считается плохим тоном Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
psixodyb #918 19 февраля 2013 Хочу попробывать попитонить. С чего начать? Поделиться сообщением Ссылка на сообщение
TheDeadSkin #919 19 февраля 2013 Хочу попробывать попитонить. С чего начать?с погружения в питон офк Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #920 19 февраля 2013 (изменено) Я не думаю, я знаю как он это делает, по крайней мере в JAVA. В любой момент времени ты можешь получить ссылку на текущую сессию, если сессии нет, то она автоматом создастся (есть исключительные случаи когда этого делать не надо), в сессии лежит мапа параметров, необходимое условие чтобы все объекты которые в ней лежат были сериализуемые. Таким образом все что тебе нужно сделать после логина пользователя на сайте, взять сессию (если её не было, автоматом создастся) и положить под каким-то ключом пользователя в неё как объект. Если пользователь закроет браузер и заново откроет, сессия будет потеряна, нужно заново логиниться, если же нажмет кнопку логаут, можно принудительно завершить и очистить сессию. В пхп очень похожий механизм, но только сессии в пхп, это файлики на диске, он не умеет ин мемори хранить, так что надо быть осторожнее чтобы не спиздили (на говнохостингах они обычно на уровень выше апликейшена лежат чтобы криворукие уёбки не просрали все на свете).ну ты так и не ответил как аппликейшн сервер определяет какой инстанс сессии разворачивать для конкретного запросаВ кукисах хранится SESSIONID, но ты зная его, ничего не сможешь вытащить с сервера и каждый раз при закрытии/открытии браузера он будет новый генерироваться. Лол чо вы гоните, в конечном счете данные о том, какой юзер залогинился, хранятся в кукисах. А дальше их уже обрабатывает сервер, выбирая нужную сессию или нужную запись в БД, или еще что угодно.Что ты блять за хуйню написал? Хранится ссылка на серверную сессию для конкретной сессии браузера. Изменено 19 февраля 2013 пользователем DIMAN123456789 Поделиться сообщением Ссылка на сообщение