ok thx :))
On 21 Cze, 09:32, Alexandru-Emil Lupu <gang.al...@gmail.com> wrote: > well .. I am not your client to be asked if i like or not :)But making this > you are sure that noone would be able to login unless he has 'high' > credentials, witouth compromise your sfGuard code > > On Sun, Jun 21, 2009 at 9:11 AM, dziobacz <aaabbbcccda...@gmail.com> wrote: > > > ok so next trial :) > > > In \sf_sandbox\apps\backend\lib I created loginForAdminFilter.class: > > > class loginForAdminFilter extends sfFilter > > { > > public function execute($filterChain) > > { > > $user = $this->getContext()->getUser(); > > > if($user->isAuthenticated()) > > { > > if(!$user->hasCredential('high')) > > { > > $user->setFlash('news1', 'Only admin can log in > > here.'); > > $user->signOut(); > > } > > } > > > $filterChain->execute(); > > } > > } > > > And in \sf_sandbox\apps\backend\config\filters.yml: > > > rendering: ~ > > security: ~ > > > # insert your own filters here > > //MY OWN FILTR: > > logowanie: > > class: loginForAdminFilter > > > cache: ~ > > common: ~ > > execution: ~ > > > Now correct ?????? > > > On 20 Cze, 22:23, Alexandru-Emil Lupu <gang.al...@gmail.com> wrote: > > > hi!Yes, anyone can login, but without having credentials, you may kick hm > > > out. > > > I would rather modify myUserClass to kick the guy out. Another quick and > > > dirty method would be creating a filter to check this out. if you say > > that > > > your security is very important, i would use a "dirty" method, just to be > > > sure that if the person manage somehow to enter there (maybe a > > > crossapplication link), i would be able to kick him out via @logout. > > > It might be an extra check-up, but will keep you the application safe > > (also, > > > will allow you to skip if the user is loged in or have credentials in > > your > > > other modules). > > > A > > > > On Sat, Jun 20, 2009 at 10:58 PM, dziobacz <aaabbbcccda...@gmail.com> > > wrote: > > > > > Alexandru so I have made in modules \sfGuardAuth\actions > > > > \actions.class.php: > > > > > require_once(sfConfig::get('sf_plugins_dir').'/sfDoctrineGuardPlugin/ > > > > modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php'); > > > > > class sfGuardAuthActions extends BasesfGuardAuthActions > > > > { > > > > public function executeCustomLogin($request) > > > > { > > > > parent::executeSignin($request); > > > > $this->setTemplate('Signin'); > > > > > if(!$this->getUser()->hasCredential('high')) > > > > { > > > > $this->getUser()->setFlash('news1', 'Only admin > > > > can login.'); > > > > $this->getUser()->setAuthenticated(false); > > > > } > > > > } > > > > } > > > > > But still each person can login - I think because in > > > > BasesfGuardAuthActions after successful login we have redirect ?? > > > > > On 20 Cze, 21:13, Alexandru-Emil Lupu <gang.al...@gmail.com> wrote: > > > > > Do not use LDAP, unless you want to use a LDAp server for login. in > > your > > > > > case i would not use.For instance, i would make a directory called > > > > > "customLogin" into my modules folder, and then i would just create a > > > > > "customLogin/actions/actions.class.php" wthat would inherit the > > > > > 'sfGuardAuth' method. In my settings.yml, i would instruct symfony > > to > > > > use > > > > > my custom module for sign in. > > > > > after that ... in my custom execute* method i would call > > "parent::signIn" > > > > or > > > > > so, and after that i would make my own checks. > > > > > > public function executeCustomLogin($request){ > > > > > parent::executeSignin($request); > > > > > > if(!$this->getUser()->hasCredential('high')) > > > > > { > > > > > $this->getUser()->setFlash('news1', 'Only > > admin > > > > can > > > > > login.'); > > > > > $this->getUser()->setAuthenticated(false); > > > > > } > > > > > > } > > > > > > LOOL sorry .. i have reread your initial post, and you make the > > things > > > > > correctly... however, i would not copy/paste the sign in method > > (DRY). I > > > > > would rather use an inheritance based code... see my above example. > > > > > > Alecs > > > > > > On Sat, Jun 20, 2009 at 9:07 PM, dziobacz <aaabbbcccda...@gmail.com> > > > > wrote: > > > > > > > I thought of course about section 'Check the user password with an > > > > > > external method' hehe :) > > > > > > > How can I change it: $user = LDAP::getUser($username); ?? > > > > > > sfGuardUser::getUser($username) or what ? > > > > > > > On 20 Cze, 19:41, Gábor Fási <maerl...@gmail.com> wrote: > > > > > > > Nope, I meant the one above: "Check the user password with an > > > > external > > > > > > method" > > > > > > > I guess anywhere in your lib folder, just make sure it's static, > > > > > > > callable and the autoload finds it. > > > > > > > > On Sat, Jun 20, 2009 at 19:15, dziobacz<aaabbbcccda...@gmail.com > > > > > wrote: > > > > > > > > > Is this section: 'Change the algorithm used to store passwords' > > on > > > > > > > >http://www.symfony-project.org/plugins/sfGuardPlugin?? > > > > > > > > But where can I place this function > > checkLDAPPassword($username, > > > > > > > > $password) ? In which file ? > > > > > > > > > On 20 Cze, 18:49, Gábor Fási <maerl...@gmail.com> wrote: > > > > > > > >> No, you shouldn't. > > > > > > > >> Check the docs again instead: you can tell sfGuard what > > function > > > > to > > > > > > > >> call to check the username/password, and there you can check > > if > > > > the > > > > > > > >> given user is admin or not. The error message will say that > > the > > > > given > > > > > > > >> user/pass is invalid instead of your 'only admin may login', > > but I > > > > > > > >> think that's good enough. > > > > > > > > >> On Sat, Jun 20, 2009 at 18:45, dziobacz< > > aaabbbcccda...@gmail.com> > > > > > > wrote: > > > > > > > > >> > I know about credentials - but with credentials user CAN > > login > > > > but > > > > > > he > > > > > > > >> > hasn't acces permission to pages. I thought about that user > > > > CAN'T > > > > > > > >> > login if he isn't admin or if was banned. You think that I > > > > shouldn't > > > > > > > >> > modify signin() method ?? > > > > > > > > >> > On 20 Cze, 17:32, Alexandru-Emil Lupu <gang.al...@gmail.com > > > > > wrote: > > > > > > > >> >> check this out. > > > > > >http://www.symfony-project.org/plugins/sfGuardPlugin > > > > > > > >> >> <http://www.symfony-project.org/plugins/sfGuardPlugin>by > > > > modifing > > > > > > the > > > > > > > >> >> sfGuardPlugin, you make a mistake, because you woun't be > > able > > > > to > > > > > > update it. > > > > > > > > >> >> <http://www.symfony-project.org/plugins/sfGuardPlugin> > > > > > > > > >> >> Secure some modules or your entire application in > > security.yml > > > > > > > > >> >> default: > > > > > > > >> >> is_secure: on > > > > > > > > >> >> Check out the docs & mail list archive, there is a > > > > > > "has_credentials" or > > > > > > > >> >> "require credential' setting for your yaml config. > > > > > > > >> >> alecs > > > > > > > > >> >> On Sat, Jun 20, 2009 at 5:56 PM, dziobacz < > > > > > > aaabbbcccda...@gmail.com> wrote: > > > > > > > > >> >> > Standard signin() method looks: > > > > > > > > >> >> > class BasesfGuardAuthActions extends sfActions > > > > > > > >> >> > { > > > > > > > >> >> > public function executeSignin($request) > > > > > > > >> >> > { > > > > > > > >> >> > $user = $this->getUser(); > > > > > > > >> >> > if ($user->isAuthenticated()) > > > > > > > >> >> > { > > > > > > > >> >> > return $this->redirect('@homepage'); > > > > > > > >> >> > } > > > > > > > > >> >> > $class = > > sfConfig::get('app_sf_guard_plugin_signin_form', > > > > > > > >> >> > 'sfGuardFormSignin'); > > > > > > > >> >> > $this->form = new $class(); > > > > > > > > >> >> > if ($request->isMethod('post')) > > > > > > > >> >> > { > > > > > > > >> >> > $this->form->bind($request->getParameter('signin')); > > > > > > > >> >> > if ($this->form->isValid()) > > > > > > > >> >> > { > > > > > > > >> >> > $values = $this->form->getValues(); > > > > > > > >> >> > $remember = isset($values['remember']) ? > > > > > > $values['remember'] : > > > > > > > >> >> > false; > > > > > > > > >> >> > $this->getUser()->signin($values['user'], > > $remember); > > > > > > > > >> >> > $signinUrl = sfConfig::get > > > > > > > >> >> > ('app_sf_guard_plugin_success_signin_url', > > > > > > $user->getReferer($request- > > > > > > > >> >> > >getReferer())); > > > > > > > > >> >> > return $this->redirect('' != $signinUrl ? > > $signinUrl : > > > > > > > >> >> > '@homepage'); > > > > > > > >> >> > } > > > > > > > >> >> > } > > > > > > > >> >> > else > > > > > > > >> >> > { > > > > > > > >> >> > if ($request->isXmlHttpRequest()) > > > > > > > >> >> > { > > > > > > > >> >> > $this->getResponse()->setHeaderOnly(true); > > > > > > > >> >> > $this->getResponse()->setStatusCode(401); > > > > > > > > >> >> > return sfView::NONE; > > > > > > > >> >> > } > > > > > > > > >> >> > $user->setReferer($request->getReferer()); > > > > > > > > >> >> > $module = sfConfig::get('sf_login_module'); > > > > > > > >> >> > if ($this->getModuleName() != $module) > > > > > > > >> >> > { > > > > > > > >> >> > return $this->redirect($module.'/'.sfConfig::get > > > > > > > >> >> > ('sf_login_action')); > > > > > > > >> >> > } > > > > > > > > >> >> > $this->getResponse()->setStatusCode(401); > > > > > > > >> >> > } > > > > > > > >> >> > } > > > > > > > > >> >> > .................... > > > > > > > >> >> > } > > > > > > > > >> >> > In my application admin has 'high' credentials. So in > > > > > > \sf_sandbox\apps > > > > > > > >> >> > \frontend\modules I created > > ... > > więcej » --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---