Latest posts on Определение времени пребывания клиента на сервере topichttps://python.su/forum/topic/2082/2008-05-26T14:43:53+03:00Веб-технологии :: Zope/Plone/Bluebream :: Определение времени пребывания клиента на сервере
2008-05-26T14:43:53+03:00stas13403Я все-таки не могу понять. Есть какая-нибудь питоновская процедура, которая задействуется если клиент уходит с сервера. Память, выделенная под сессию, должна же освободиться?
Веб-технологии :: Zope/Plone/Bluebream :: Определение времени пребывания клиента на сервере
2008-05-22T13:12:56+03:00astoon13270<blockquote><em>stas</em><br/>Я работаю в Zope 2.9. Мне необходимо как-то зафиксировать момент выхода клиента с данной сессией, возможно это удасться только через апач. Пока не понимаю как обработать данное событие.</blockquote>Все равно проще через Zope3:<br/>cd /opt/zope-2.10.5/lib/python/zope/app/security/browser<br/>попробуй таки использовать как описано выше.<br/><br/>Либо поискать в исходниках Plone - там это есть, но где именно - не смотрел.
Веб-технологии :: Zope/Plone/Bluebream :: Определение времени пребывания клиента на сервере
2008-05-22T10:21:35+03:00stas13264Я работаю в Zope 2.9. Мне необходимо как-то зафиксировать момент выхода клиента с данной сессией, возможно это удасться только через апач. Пока не понимаю как обработать данное событие.
Веб-технологии :: Zope/Plone/Bluebream :: Определение времени пребывания клиента на сервере
2008-05-19T16:42:04+03:00astoon13168<blockquote><em>tretiy3</em><br/><blockquote><em>astoon</em><br/>Согласись однако, что адаптер LogoutSupported нужен-то только для процесса разработки.</blockquote>А вот этого я не знаю, кстати. Пользую именно для InternalPrincipal (Тестирую я через другой браузер, в котором я не залогинен администратором)<br/>Ссылку для logout я оформляю вьюлетом с таким вот кодом:<br/>deg getLink(self):<br/> from zope.app.security.browser.auth import LoginLogout<br/> logout = LoginLogout(self.context, self.request)<br/> link = logout.__call__()<br/> link_list = link.split(u'"')<br/> for v in link_list:<br/> if v.startswith(u'@@'): link = v<br/> return {'url':link, ‘text’:u'выход'}<br/>Я это написал несколько месяцев назад, когда пытался врубиться в zope.app.security и с тех пор не заглядывал. Но это работает :)</blockquote>Сделано интересно.<br/>Но я не пойму, почему у тебя …/logout.html просто не работает. Этот урл по умолчанию можно вызывать на любом объекте если Session Credentials установлен в PAU.<br/><br/>Я его обычно перегружаю, чтобы он вел себя по-другому. В аттаче - пример, т.е. там например вместо редиректа на страницу logout.html, идет редирект на фронт пейдж с появлением соответствующего статус-сообщения. Т.е. главное-то реализовать интерфейс ILogout, а уж как мы там его реализуем - без разницы, все равно будет работать.<br/>А линк на него - просто logout.html на любом объекте …
Веб-технологии :: Zope/Plone/Bluebream :: Определение времени пребывания клиента на сервере
2008-05-19T09:36:32+03:00tretiy313160<blockquote><em>astoon</em><br/>Согласись однако, что адаптер LogoutSupported нужен-то только для процесса разработки.</blockquote>А вот этого я не знаю, кстати. Пользую именно для InternalPrincipal (Тестирую я через другой браузер, в котором я не залогинен администратором)<br/>Ссылку для logout я оформляю вьюлетом с таким вот кодом:<br/>deg getLink(self):<br/> from zope.app.security.browser.auth import LoginLogout<br/> logout = LoginLogout(self.context, self.request)<br/> link = logout.__call__()<br/> link_list = link.split(u'"')<br/> for v in link_list:<br/> if v.startswith(u'@@'): link = v<br/> return {'url':link, ‘text’:u'выход'}<br/>Я это написал несколько месяцев назад, когда пытался врубиться в zope.app.security и с тех пор не заглядывал. Но это работает :)
Веб-технологии :: Zope/Plone/Bluebream :: Определение времени пребывания клиента на сервере
2008-05-17T12:24:15+03:00astoon13129<blockquote><em>tretiy3</em><br/><blockquote><em>stas</em><br/>Я могу зафиксировать время появления клинта на сайте, его логин и уникальную сессию. Как определить, когда он уходит с сервера?</blockquote>в zope3 так делал:<br/><br/>прописал адаптер <br/><adapter factory=“zope.app.security.LogoutSupported” /><br/>он холостой. zope использует его как флаг.<br/><br/>написал свой credential plugin, наследованный от “родного”, в котором переопределил метод logout: copy-paste родной logout + то что мне от него нужно.</blockquote>Согласись однако, что адаптер LogoutSupported нужен-то только для процесса разработки. Я сам его включаю в качестве <!– develop process support –>, чтобы была возможность без перезагрузки браузера выйти из менеджерского аккаунта во время не-автоматического тестирования ( те ручного кликания).<br/>В любом случае, само приложение, на которое повешен фронт-енд сервер, начинается с твоего локального сайта, в PAU которого всегда включается Session Credentials - так что logout на этом уровне работает для интернал-принципалов.<br/><br/>Другой вопрос - я вот думаю, что на корпоративных приложениях, работающих даже внутри 1 локальной сети тоже должен быть фронт-енд (Апач там и тд), повешенный на локальный сайт. У нас куча корпоративных приложений на Zope3, т.е не сайтов, а ERP/CRM, но они распределенные и как правило у клиентов в VPN работают. Естесственно, позади фронт-энда. <br/>Ты разве не так делаешь ?
Веб-технологии :: Zope/Plone/Bluebream :: Определение времени пребывания клиента на сервере
2008-05-16T08:58:38+03:00tretiy313080<blockquote><em>stas</em><br/>Я могу зафиксировать время появления клинта на сайте, его логин и уникальную сессию. Как определить, когда он уходит с сервера?</blockquote>в zope3 так делал:<br/><br/>прописал адаптер <br/><adapter factory=“zope.app.security.LogoutSupported” /><br/>он холостой. zope использует его как флаг.<br/><br/>написал свой credential plugin, наследованный от “родного”, в котором переопределил метод logout: copy-paste родной logout + то что мне от него нужно.
Веб-технологии :: Zope/Plone/Bluebream :: Определение времени пребывания клиента на сервере
2008-05-15T18:41:20+03:00astoon13066Если по logout - то загляни в zope.app.security. Можно перегружать у себя в коде различные стандартные зоповские формы login/logout и тд, просто определив их на свой скин или сайт, я много раз так делал. Т.е. copy/past/edit, добавь событие logout (его вроде нету по умолчанию, а может и есть, не смотрел).<br/>Соответственно, на это событие подписываем свой обработчик, делающий запись в логах.<br/>Т.е. писать там 10 строк кода :), но не сам пробовал это делать.
Веб-технологии :: Zope/Plone/Bluebream :: Определение времени пребывания клиента на сервере
2008-05-15T14:29:09+03:00stas13056Я могу зафиксировать время появления клинта на сайте, его логин и уникальную сессию. Как определить, когда он уходит с сервера?