teguh11
(Teguhkrstianto)
April 17, 2012, 7:13am
1
gan ane lagi binggung nih.
ane punya 2 tabel, tabel admin sama tabel user.
nah ane pengen bukin loginnya jadi binggung gan…
karena tabel admin sama user ga mungkin digabung.
ada yang punya saran ga gan?
kalo ane sih maunya form admin langsung di hit di URLnya.
kalo yang user pake form yang dari gii aja…
tolongin ane gan…
makasih para suhu.
maklum newbie…
xent
(Bro Xentauri)
April 17, 2012, 8:57am
2
emang bedanya admin ama user apaan ya bang
kenapa ga dibuat satu aja?
+----+----------+----------+--------------+
| id | username | password | status_member|
+----+----------+----------+--------------+
status member buat ngebedain apa dia admin ato user biasa
teguh11
(Teguhkrstianto)
April 17, 2012, 10:30am
3
gini nanti user itu harus di approve dulu sama si admin.
jadi kan di tabel user ada id_admin.
nah kalo di jadiin satu, itu tabel jadi ga normal lagi.
ada masukan ga gan?
xent
(Bro Xentauri)
April 18, 2012, 4:32am
4
emangnya tabel login isinya apaan ya? apakah informasi user+pass
berdasar dari tabel yg ku buat diatas
tbl user
+----+----------+----------+--------------+---------+
| id | username | password | status_member| active | {username UNIQUE INDEXES}
+----+----------+----------+--------------+---------+
tbl detail_user
+----------+------+---------+------------+
| username | name | address | birthdate | {username PK references to user.username}
+----------+------+---------+------------+
form /site/login khusus buat member
form /backend/login khusus buat admin
kalo mau aprove kan tinggal SELECT username WHERE status_member = ‘user_biasa’ AND active = 0;
teguh11
(Teguhkrstianto)
April 18, 2012, 5:26am
5
tabel admin
+----------+----------+----------+
| id_admin | username | password |
+----------+----------+----------+
tabel user
+--------+----------+----------+----------+--------+
| id_user| id_admin | username | password | status |
+--------+----------+----------+----------+--------+
id_admin di isi dari tabel admin, status default 0,
kalo udah di approve sama admin, nanti status jadi 1 trus id_admin di tabel user juga di update sama admin yang approve.
xent
(Bro Xentauri)
April 19, 2012, 7:22am
6
berarti tar loginnya ada 2 form
misal:
form /site/login khusus buat member
form /backend/login khusus buat admin
site/login kopi aja ke /backend/admin, useridentitynya berarti ada dua yak, khsus admin ama khusus user
asep
(Asep Mylocal)
November 20, 2012, 4:07am
8
teguh11:
udah bisa gan…
hahaha…
di controllernya kalua gini apanya yg salah ya gan?
public function actionMyadmin() {
$model = new LoginForm;
// if it is ajax validation request
if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') {
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if (isset($_POST['LoginForm'])) {
$model->attributes = $_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if ($model->validate() && $model->login_admin())
$this->redirect(Yii::app()->user->returnUrl);
}
// display the login form
$this->renderPartial('login_admin', array('model' => $model));
}
terus di model/LoginForm.php, seperti ini
public function login_admin()
{
if($this->_identity===null)
{
$this->_identity=new AdminIdentity($this->username,$this->password);
$this->_identity->authenticate();
}
[ini yg error]--> if($this->_identity->errorCode===AdminIdentity::ERROR_NONE)
{
$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
Yii::app()->admin->login($this->_identity,$duration);
return true;
}
else
return false;
}
AdminIdentity seperti ini
class Admindentity extends CUserIdentity
{
private $_id;
public function authenticate() {
$record = Admin::model()->findByAttributes(array('username' => $this->username));
if ($record === null)
$this->errorCode = self::ERROR_USERNAME_INVALID;
else if ($record->password !== md5($this->password))
$this->errorCode = self::ERROR_PASSWORD_INVALID;
else {
$this->_id = $record->id_admin;
$this->errorCode = self::ERROR_NONE;
$this->setPersistentStates(array(
'password' => $this->password,
'username' => $this->username,
));
}
return !$this->errorCode;
}
public function getId() {
return $this->_id;
}
}
muncul warning gini gan
tolong koreksinya, apanya yg salah ya?
xent
(Bro Xentauri)
November 24, 2012, 1:40pm
9
bukannya udah jelas itu kelas AdminIdentity itu ga ada!
perhatikan nama kelas identitas admin yang di posting, (ane tau, tapi di umpetin dulu)
in.shadoww
(Viktor Wahyu)
December 7, 2012, 7:57am
10
Admindentity <— nama class ente gan harusnya —>AdminIdentity
heheh ane juga nubie banget…tar ane numpang" tanya ya disini…salam kenal