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  sfGuardAuth\actions\actions.class.php
> > with that code:
>
> > class sfGuardAuthActions extends BasesfGuardAuthActions
> > {
> >  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()));
>
> > ///////////////////////////////////////////////////////////////////////////////////
> > //MINE ADDED CODE:
>
> >                if(!$this->getUser()->hasCredential('high'))
> >                {
> >                        $this->getUser()->setFlash('news1', 'Only admin can
> > login.');
> >                        $this->getUser()->setAuthenticated(false);
> >                }
>
> > /////////////////////////////////////////////////////////////////////////////////////
>
> >        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);
> >    }
> >  }
>
> > }
>
> > Something like that or I should change something ? It works but is it
> > correct ? I want make sure because security is very important.
>
> --
> I am on twitter:http://twitter.com/alecslupu
> I am on linkedIn:http://www.linkedin.com/in/alecslupu
> Tel: (+4)0748.543.798
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to