[Solar-talk] Verifying Login Status

Raymond Kolbe rkolbe at gmail.com
Wed Feb 6 18:14:06 CST 2008


Here is my config file with added comments. http://pastebin.com/m506ba4c8

I am not sure if I am using the term 'domain model' correctly as specified
by Martin Fowler (http://martinfowler.com/eaaCatalog/domainModel.html) but I
remember reading somewhere else that this is what each app within Solar
would be considered (could be wrong however).

On Feb 6, 2008 7:02 PM, Raymond Kolbe <rkolbe at gmail.com> wrote:

> In the config for auth it should be:
>
> $config['Solar_Auth'] = array(
>     'adapter'        => 'Solar_Auth_Adapter_Sql',
>     'table'            => 'users',
>     ''handle_col'   => 'username',
>     'passwd_col'  => 'password',
>     'uid_col'         => 'id',
> )
>
> You shouldn't have to specify the 'process_login' key since this is pulled
> from the locale settings (just add 'PROCESS_LOGIN => 'Login' in your locale
> file (mine is en_US.php).
>
> Hope that helps.
>
> --Raymond Kolbe
>
> On Feb 6, 2008 5:52 PM, Sean Montague <scene at themountainscene.com> wrote:
>
> >  Thanks Rodrigo,
> >
> > You say that it would be better to set the auth adapter configuration in
> > the config file. Which makes sense to me, so now I'm trying to figure out
> > the best way to do this. My modified Solar.config.php looks like this:
> >
> >     $config['Solar_Sql'] = array(
> >         'adapter' => 'Solar_Sql_Adapter_Mysql',
> >         'host'    => 'localhost',
> >         'user'    => 'root',
> >         'pass'    => 'mypass',
> >         'name'    => 'mydb'
> >     );
> >
> >     $sql = Solar::factory('Solar_Sql', $config['Solar_Sql']);
> >     $config['Solar_Sql'] = array(
> >         'sql'           => $sql,
> >         'adapter'       => 'Solar_Auth_Adapter_Sql',
> >         'table'         => 'users',
> >         'handle_col'    => 'username',
> >         'passwd_col'    => 'password',
> >         'uid_col'       => 'id',
> >         'process_login' => 'submit login'
> >     );
> >     ...
> >
> > My Login.php is looks like:
> >
> >     $sql = solar::factory('solar_sql');
> >     $sql->_config['adapter'] = 'Solar_Auth_Adapter_Sql';
> >     $auth = Solar::factory('Solar_Auth', $sql->_config);
> >     $auth->start();
> >     ....
> >
> > In the config file, having "'adapter'=>'Solar_Auth_Adapter_Sql'" or
> > "'adapter'=>'Solar_Sql_Adapter_Mysql'" makes no difference, they could just
> > as easily be deleted. I need to set them in the Login.php script or the
> > example I'm working with in Index.php, which looks like this:
> >
> >     $sql = solar::factory('solar_sql');
> >     $sql->_config['adapter'] = 'Solar_Sql_Adapter_Mysql';
> >     $select = Solar::factory('Solar_Sql_Select', $sql->_config);
> >     $select->from('users',array('*'));
> >     ....
> >
> > All this works, and checking the authorization as you mentioned works
> > too. Is setting $sql->_config['adapter'] the way I do a good idea? It seems
> > like a hack for me to do it this way.
> >
> > Thanks!
> > Sean
> >
> >
> > Sean Montague wrote:
> >
> > On Feb 1, 2008 9:07 PM, Sean Montague wrote:
> > >* I've worked through the tutorial on http://blog.phpdeveloper.org/?p=65*>* using Solar_Auth_Adapter_Sql, and I've set a session like:*>**>* $session = Solar::factory('Solar_Session',*>*     array('class' => 'Vendor_App_Login')*>* );*>* $session->store['uid'] = $auth->uid;*>**>* Should I check the session in the bootstrap?*
> > Not really, and, well, I prefer to keep the bootstrap cleaner as
> > possible (just setting include ptah and making a Solar front
> > controller call).
> >
> > You can initialize the auth proccess when initializing any app, with only this:
> >
> >     $auth = Solar::factory('Solar_Auth');
> >     $auth->start();
> >     Solar_Registry::set('auth', $auth);
> >
> > Note that it would be better to set the auth adapter configuration in
> > the config file, not in the factory call as in that tutorial. This way
> > you can change the configuration more easily.
> >
> > Then to check if the use is logged in, you can call this anywhere:
> > Solar_Registry::get('auth')->isValid(), like in:
> >
> > if (Solar_Registry::get('auth')->isValid()) {
> >     // user is logged in
> > } else {
> >     // user is *not* logged in
> > }
> >
> > Also you could use Solar_User, which wraps an auth object, plus role
> > and access objects. But, for a simple authentication, just registering
> > a start()'ed auth object as above would do the job.
> >
> > -- rodrigo
> >
> >
> > _______________________________________________
> > Solar-talk mailing list
> > Solar-talk at lists.solarphp.com
> > http://mailman-mail3.webfaction.com/listinfo/solar-talk
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman-mail3.webfaction.com/pipermail/solar-talk/attachments/20080206/2b95f49a/attachment-0001.html


More information about the Solar-talk mailing list