sfGuard kiléptetés

4 views
Skip to first unread message

sajt

unread,
Jan 8, 2010, 4:44:42 AM1/8/10
to Symfony-hu
Sziasztok!

Azt szeretném elérni, hogy ha a rendszer kilépteti a felhasználót,
mert lejárt az időkorlát, akkor irjon ki egy üzenetet. Ezt hogyan
tudom elérni?


--
Ámon Tamás

Heilig Szabolcs

unread,
Jan 8, 2010, 7:52:54 AM1/8/10
to symfo...@googlegroups.com
Helló!

Milyen verziójú a Symfony? Ahogy nézem, ez nem az sfGuard felségterülete,
hanem az sfBasicSecurityUser-é. 1.0-tól 1.4-ig minden esetben. Itt a forrása:

Az initialize()-t érdemes átfuztni, mivel itt állapítja meg a timeout-ot és végzi el a kiléptetést,
ha szükséges.

--
Heilig Szabolcs
ce...@phphost.hu - http://devolver.hu (SVN, Trac hoszting)

2010/1/8 sajt <sajt...@gmail.com>

Tamas Amon

unread,
Jan 8, 2010, 8:50:00 AM1/8/10
to symfo...@googlegroups.com
Arra már rájöttem, hogy a factory.yml-ben lehet ezt állitgatni.
Viszont, ha beállítom a use_flash-t, akkor sem kapok vissza semmi
üzenetet.
Egyébként 1.2

2010/1/8 Heilig Szabolcs <ce...@phphost.hu>:

> --
> Azért kapta ezt az üzenetet, mert feliratkozott a Google Csoportok
> szolgáltatásbeli Symfony-hu csoportra.
> Ha üzenetet szeretne küldeni ebbe a csoportba, küldjön egy e-mailt a(z)
> symfo...@googlegroups.com címre.
> Ha le szeretne iratkozni a csoportról, küldjön e-mailt a(z)
> symfony-hu+...@googlegroups.com címre.
> További lehetőségekért keresse fel a csoportot a(z)
> http://groups.google.com/group/symfony-hu?hl=hu címen.
>
>

--
Ámon Tamás
Sent from Budapest, BU, Hungary

Heilig Szabolcs

unread,
Jan 8, 2010, 9:35:16 AM1/8/10
to symfo...@googlegroups.com
Igen a timeoutot ott lehet belőni. Viszont az use_flash működését félreértetted szerintem.
Ott ki-be lehet kapcsolni, hogy általában működjön-e a setFlash() getFlash() páros
az user objektumon vagy sem. Teljesítményoptimalizáció mentén lehet érdekes, ha
nincs rá szükség.

Szóval szerintem ugyanazokat az alapokat tudod ter is felhasználni a timeout
eldöntésére, mint amit az sfBasicSecurityUser() is alkalmaz.

2010/1/8 Tamas Amon <sajt...@gmail.com>
Arra már rájöttem, hogy a factory.yml-ben lehet ezt állitgatni.
Viszont, ha beállítom a use_flash-t, akkor sem kapok vissza semmi
üzenetet.
Egyébként 1.2

> Milyen verziójú a Symfony? Ahogy nézem, ez nem az sfGuard felségterülete,
> hanem az sfBasicSecurityUser-é. 1.0-tól 1.4-ig minden esetben. Itt a
> forrása:
> http://trac.symfony-project.org/browser/branches/1.4/lib/user/sfBasicSecurityUser.class.php
>
> Az initialize()-t érdemes átfuztni, mivel itt állapítja meg a timeout-ot és
> végzi el a kiléptetést,
> ha szükséges.
> --
> Heilig Szabolcs
> ce...@phphost.hu - http://devolver.hu (SVN, Trac hoszting)
> 2010/1/8 sajt <sajt...@gmail.com>
>>
>> Azt szeretném elérni, hogy ha a rendszer kilépteti a felhasználót,
>> mert lejárt az időkorlát, akkor irjon ki egy üzenetet. Ezt hogyan
>> tudom elérni?

Tamas Amon

unread,
Jan 11, 2010, 6:59:19 AM1/11/10
to symfo...@googlegroups.com
Ezt suikerült összehozni:

class frontendConfiguration extends sfApplicationConfiguration
{
public function configure()
{
$this->dispatcher->connect('user.change_authentication',
array($this, 'setLogout'));
}

public function setLogout(sfEvent $event) {
if (!$event["authenticated"]) {
$user = sfContext::getInstance()->getUser();
$user->setFlash('notice', "You are logged out");
}
}
}

Viszont ez nem működik. Az a kérdésem lenne, hogy hogyan tudom itt
elérni a usert?

2010/1/8 Heilig Szabolcs <ce...@phphost.hu>:

Tamas Amon

unread,
Jan 11, 2010, 8:57:39 AM1/11/10
to symfo...@googlegroups.com
Végülis ez lett a megoldás:

class frontendConfiguration extends sfApplicationConfiguration
{
public function configure()
{
$this->dispatcher->connect('user.change_authentication',
array($this, 'setLogout'));
}

public function setLogout(sfEvent $event) {
if (!$event["authenticated"]) {

$user = $event->getSubject();


$user->setFlash('notice', "You are logged out");
}
}
}


2010/1/11 Tamas Amon <sajt...@gmail.com>:

--

Reply all
Reply to author
Forward
0 new messages