Changeset 7745
- Timestamp:
- 03/05/08 12:05:33 (2 years ago)
- Files:
-
- plugins/sfGuardPlugin/branches/1.1/README (modified) (2 diffs)
- plugins/sfGuardPlugin/branches/1.1/config/schema.yml (modified) (4 diffs)
- plugins/sfGuardPlugin/branches/1.1/data/tasks (deleted)
- plugins/sfGuardPlugin/branches/1.1/lib/form (added)
- plugins/sfGuardPlugin/branches/1.1/lib/form/base (added)
- plugins/sfGuardPlugin/branches/1.1/lib/form/sfGuardFormSignin.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/form/sfGuardGroupForm.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/form/sfGuardGroupPermissionForm.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/form/sfGuardPermissionForm.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/form/sfGuardRememberKeyForm.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/form/sfGuardUserForm.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/form/sfGuardUserGroupForm.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/form/sfGuardUserPermissionForm.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/task (added)
- plugins/sfGuardPlugin/branches/1.1/lib/task/sfGuardCreateAdminTask.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/task/sfGuardCreateUserTask.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/lib/user/sfGuardSecurityUser.class.php (modified) (1 diff)
- plugins/sfGuardPlugin/branches/1.1/lib/validator/sfGuardUserValidator.class.php (deleted)
- plugins/sfGuardPlugin/branches/1.1/lib/validator/sfGuardValidatorUser.class.php (added)
- plugins/sfGuardPlugin/branches/1.1/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php (modified) (4 diffs)
- plugins/sfGuardPlugin/branches/1.1/modules/sfGuardAuth/templates/secureSuccess.php (modified) (1 diff)
- plugins/sfGuardPlugin/branches/1.1/modules/sfGuardAuth/templates/signinSuccess.php (modified) (1 diff)
- plugins/sfGuardPlugin/branches/1.1/modules/sfGuardAuth/validate (deleted)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
plugins/sfGuardPlugin/branches/1.1/README
r7657 r7745 366 366 == TODO == 367 367 368 * finish the `promote_super_user` task369 368 * finish the `getPassword` method 370 369 * add support for HTTP Basic authentication … … 372 371 == Changelog == 373 372 373 === 2.1.0-PRE === 374 375 * fabien: added forms (migrated sfGuardAuth) 376 * fabien: added guard:create_user and guard:promote tasks 377 374 378 === 2.0.0 === 375 379 plugins/sfGuardPlugin/branches/1.1/config/schema.yml
r7634 r7745 1 1 propel: 2 2 _attributes: { package: plugins.sfGuardPlugin.lib.model } 3 3 4 4 sf_guard_group: 5 5 _attributes: { phpName: sfGuardGroup } … … 7 7 name: { type: varchar, size: 255, required: true, index: unique } 8 8 description: { type: longvarchar } 9 9 10 10 sf_guard_permission: 11 11 _attributes: { phpName: sfGuardPermission } … … 13 13 name: { type: varchar, size: 255, required: true, index: unique } 14 14 description: { type: longvarchar } 15 15 16 16 sf_guard_group_permission: 17 17 _attributes: { phpName: sfGuardGroupPermission } 18 18 group_id: { type: integer, primaryKey: true, required: true, foreignTable: sf_guard_group, foreignReference: id, onDelete: cascade } 19 19 permission_id: { type: integer, primaryKey: true, required: true, foreignTable: sf_guard_permission, foreignReference: id, onDelete: cascade } 20 20 21 21 sf_guard_user: 22 22 _attributes: { phpName: sfGuardUser } … … 30 30 is_active: { type: boolean, required: true, default: 1 } 31 31 is_super_admin: { type: boolean, required: true, default: 0 } 32 32 33 33 sf_guard_user_permission: 34 34 _attributes: { phpName: sfGuardUserPermission } 35 35 user_id: { type: integer, primaryKey: true, required: true, foreignTable: sf_guard_user, foreignReference: id, onDelete: cascade } 36 36 permission_id: { type: integer, primaryKey: true, required: true, foreignTable: sf_guard_permission, foreignReference: id, onDelete: cascade } 37 37 38 38 sf_guard_user_group: 39 39 _attributes: { phpName: sfGuardUserGroup } 40 40 user_id: { type: integer, primaryKey: true, required: true, foreignTable: sf_guard_user, foreignReference: id, onDelete: cascade } 41 41 group_id: { type: integer, primaryKey: true, required: true, foreignTable: sf_guard_group, foreignReference: id, onDelete: cascade } 42 42 43 43 sf_guard_remember_key: 44 44 _attributes: { phpName: sfGuardRememberKey } plugins/sfGuardPlugin/branches/1.1/lib/user/sfGuardSecurityUser.class.php
r7634 r7745 20 20 private $user = null; 21 21 22 public function getReferer($default) 23 { 24 $referer = $this->getAttribute('referer', $default); 25 $this->getAttributeHolder()->remove('referer'); 26 27 return $referer; 28 } 29 30 public function setReferer($referer) 31 { 32 if (!$this->hasAttribute('referer')) 33 { 34 $this->setAttribute('referer', $referer); 35 } 36 } 37 22 38 public function hasCredential($credential, $useAnd = true) 23 39 { plugins/sfGuardPlugin/branches/1.1/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php
r7634 r7745 18 18 class BasesfGuardAuthActions extends sfActions 19 19 { 20 public function executeSignin( )20 public function executeSignin($request) 21 21 { 22 22 $user = $this->getUser(); 23 if ($ this->getRequest()->getMethod() == sfRequest::POST)23 if ($user->isAuthenticated()) 24 24 { 25 $referer = $user->getAttribute('referer', $this->getRequest()->getReferer());26 $user->getAttributeHolder()->remove('referer');25 return $this->redirect('@homepage'); 26 } 27 27 28 $signin_url = sfConfig::get('app_sf_guard_plugin_success_signin_url', $referer);28 $this->form = new sfGuardFormSignin(); 29 29 30 $this->redirect('' != $signin_url ? $signin_url : '@homepage'); 31 } 32 elseif ($user->isAuthenticated()) 30 if ($request->isMethod('post')) 33 31 { 34 $this->redirect('@homepage'); 32 $this->form->bind($request->getParameter('signin')); 33 if ($this->form->isValid()) 34 { 35 $values = $this->form->getValues(); 36 $this->getUser()->signin($values['user']); 37 38 $signinUrl = sfConfig::get('app_sf_guard_plugin_success_signinUrl', $user->getReferer($request->getReferer())); 39 40 return $this->redirect('' != $signinUrl ? $signinUrl : '@homepage'); 41 } 35 42 } 36 43 else 37 44 { 38 if ($ this->getRequest()->isXmlHttpRequest())45 if ($request->isXmlHttpRequest()) 39 46 { 40 47 $this->getResponse()->setHeaderOnly(true); … … 44 51 } 45 52 46 if (!$user->hasAttribute('referer')) 47 { 48 $user->setAttribute('referer', $this->getRequest()->getReferer()); 49 } 53 $user->setReferer($request->getReferer()); 50 54 51 if ($this->getModuleName() != ($module = sfConfig::get('sf_login_module'))) 55 $module = sfConfig::get('sf_login_module'); 56 if ($this->getModuleName() != $module) 52 57 { 53 58 return $this->redirect($module.'/'.sfConfig::get('sf_login_action')); … … 58 63 } 59 64 60 public function executeSignout( )65 public function executeSignout($request) 61 66 { 62 67 $this->getUser()->signOut(); 63 68 64 $signout_url = sfConfig::get('app_sf_guard_plugin_success_signout_url', $ this->getRequest()->getReferer());69 $signout_url = sfConfig::get('app_sf_guard_plugin_success_signout_url', $request->getReferer()); 65 70 66 71 $this->redirect('' != $signout_url ? $signout_url : '@homepage'); … … 76 81 throw new sfException('This method is not yet implemented.'); 77 82 } 78 79 public function handleErrorSignin()80 {81 $user = $this->getUser();82 if (!$user->hasAttribute('referer'))83 {84 $user->setAttribute('referer', $this->getRequest()->getReferer());85 }86 87 $module = sfConfig::get('sf_login_module');88 if ($this->getModuleName() != $module)89 {90 $this->forward(sfConfig::get('sf_login_module'), sfConfig::get('sf_login_action'));91 }92 93 return sfView::SUCCESS;94 }95 83 } plugins/sfGuardPlugin/branches/1.1/modules/sfGuardAuth/templates/secureSuccess.php
r7634 r7745 1 1 <?php use_helper('I18N') ?> 2 2 3 <p><?php echo __("You don't have the requested permission to access this page.") ;?></p>3 <p><?php echo __("You don't have the requested permission to access this page.") ?></p> plugins/sfGuardPlugin/branches/1.1/modules/sfGuardAuth/templates/signinSuccess.php
r7634 r7745 1 <?php use_helper('Validation', 'I18N') ?> 1 <form action="<?php echo url_for('@sf_guard_signin') ?>" method="post" /> 2 <table> 3 <?php echo $form ?> 4 </table> 2 5 3 <div id="sf_guard_auth_form"> 4 <?php echo form_tag('@sf_guard_signin') ?> 5 6 <fieldset> 7 8 <div class="form-row" id="sf_guard_auth_username"> 9 <?php 10 echo form_error('username'), 11 label_for('username', __('username:')), 12 input_tag('username', $sf_data->get('sf_params')->get('username')); 13 ?> 14 </div> 15 16 <div class="form-row" id="sf_guard_auth_password"> 17 <?php 18 echo form_error('password'), 19 label_for('password', __('password:')), 20 input_password_tag('password'); 21 ?> 22 </div> 23 <div class="form-row" id="sf_guard_auth_remember"> 24 <?php 25 echo label_for('remember', __('Remember me?')), 26 checkbox_tag('remember'); 27 ?> 28 </div> 29 </fieldset> 30 31 <?php 32 echo submit_tag(__('sign in')), 33 link_to(__('Forgot your password?'), '@sf_guard_password', array('id' => 'sf_guard_auth_forgot_password')) 34 ?> 6 <input type="submit" value="sign in" /> 7 <a href="<?php echo url_for('@sf_guard_password') ?>">Forgot your password?</a> 35 8 </form> 36 </div>

