wie kann ich Folgendes verwenden?
Ich habe Spalten in meiner Tabelle. wf_users: wf_username, wf_password
jetzt in meiner Form möchte ich nicht, dass jemand meine Tabellenstruktur sieht, daher verwende ich in meinem Formular.
$this->Form->input("username");
und nicht der
e>
Mein Post sieht so aus
User=>array( 'username', 'password' );
jetzt brauche ich sie, um in meine benannte Spalte zu wechseln, oder Sie wollen den Trick machen, um sich im erlaubten Bereich anzumelden, weil es versucht, mit einer falschen Spalte abzurufen (mit h "username" nicht mit h
"wf_usernam").
Mein AppController:
class AppController extends Controller {
public $viewClass = 'Theme';
public $theme;
public $components = array(
'Auth'=> array(
'loginRedirect'=>array('controller'=>'users', 'action'=>'dashboard'),
'logoutRedirect'=>array('controller'=>'users', 'action'=>'dashboard'),
'authError'=>'yout can´t access the page!',
'authorise'=>array('Controller'),
#'authenticate' => array(
# 'Form' => array(
# 'fields' => array(
# 'wf_auth_user_username' => 'username',
# 'wf_auth_user_password' => 'password'
# )
# )
#)
),
'Session'
);
//Before mainlayout
public function beforeFilter() {
parent::beforeFilter();
$this->theme = 'SM';
$this->Auth->fields = array('username'=>'wf_auth_user_username','password'=>'wf_auth_user_password');
//Configure AuthComponent
$this->Auth->allow('*');
//Logged in user
$this->set('isauth', 'loggedout'); //$this->userpanelAuth());
}
public function isAuthorized($user) {
return true;
}
protected function userpanelAuth() {
if($this->isAuthorized()) {
return 'loggedin';
}else{
return 'loggedout';
}
}
}
Und dies ist mein Formular:
<div id="display-panel">
<?
echo $this->Session->flash();
echo $this->Form->create('User', array('action' => 'login'));
echo $this->Form->input(
'username',
array('label'=>false, 'div'=>false,'placeholder'=>'Benutzername',''));
echo $this->Form->input(
'password',
array('label'=>false, 'div'=>false,'placeholder'=>'Passwort'));
echo $this->Form->end(array('label'=>'login','div'=>false));
?>
</div>
Mit der Auth-Komponente können Sie beim Einrichten der Konfiguration verschiedene Felder angeben. In diesem Fall verwenden Sie den Authentifizierungs-Handler Form
, der eine Taste fields
hat.
<?php
// Pass settings in $components array
public $components = array(
'Auth'=> array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
Über die 2.0 Authentifizierung docs .
Wenn Sie alle Auth-Einstellungen festlegen (normalerweise in einem beforeFilter-Rückruf), setzen Sie einfach die Eigenschaft fields
$this->Auth->fields = array('username' => 'wf_username', 'password' => 'wf_password');
Sie müssen diese Spaltennamen wf_ nicht verwenden. Halten Sie sich an die Konvention und verschwenden Sie keine Zeit.