W Symfony po zainstalowaniu wtyczki sfGuardAuth standardowy formularz logowania wygląda tak:
http://img514.imageshack.us/my.php?image=beztytuut.jpgA ja chciałbym go zmienić - polskie napisy itp. oraz przy okazji po zalogowaniu zrobić przekierowanie na daną stronę, bo aktualnie dziwnie to u mnie działa.
Szczątkowy opis jak to zrobić znalazłem tutaj:
http://www.symfony-project.org/plugins/sfG...b=plugin_readmeI mam narazie:
action.class.php:
<?php
require_once(sfConfig::get('sf_plugins_dir').'sfDoctrineGuardPluginmodulessfGuardAuthlibBasesfGuardAuthActions.class.php');
class sfGuardAuthActions extends BasesfGuardAuthActions
{
public function executeSignin(sfWebRequest $request)
{
$this->form = new LogowanieForm();
if ($request->isMethod('post'))
{
$this->form->bind($request->getParameter('logowanie'));
if ($this->form->isValid())
{
$this->redirect('stronka/tajne');
}
}
}
}
?>
signinSuccess.php:
<form action="
<?php echo url_for
('@sf_guard_signin') ?>" method="POST">
<table>
<tr>
<td colspan="2">
<input type="submit" value="Zaloguj"/>
</td>
</tr>
</table>
</form>
LogowanieForm.class.php:
<?php
class LogowanieForm extends sfForm
{
public function configure()
{
'login' => new sfWidgetFormInput(),
'haslo' => new sfWidgetFormInput(),
));
$this->widgetSchema->setLabels(array( 'login' => 'Twój login',
'haslo' => 'Twoje hasło',
));
$this->setValidators(array( 'login' => new sfValidatorString
(array(), array('required' => 'Nie wpisano loginu.')), 'haslo' => new sfValidatorString
(array(), array('required' => 'Nie wpisano hasła.')), ));
$this->validatorSchema->setPostValidator(new sfGuardValidatorUser
(array(), array('invalid' => 'Login lub hasło są niepoprawne'))); $this->widgetSchema->setNameFormat('logowanie[%s]');
}
}
?>
Narazie chyba ok jest wszystko ? W jaki sposób mam w symfony zweryfikować czy login i hasło są poprawne jak te w bazie danych ?
Ten post edytował nieraczek 2.03.2009, 18:07:13