[font="Tahoma"][rtl]
سلام دوستان
من توی نحوی دسترسی کاربران و مدیریت اون ها مشکل دارم. می خوام بخش دسترسی رو به شکل زیر پیاده کنم. ممنون می شم در مورد نحوه پیاده سازی راهنماییم کنید( سناریو رو فقط بگید، می خوام سعی کنم خودم پیاده سازی شو انجام بدم و اگه مشکلی داشتم دوباره بپرسم)
[list=1]
[*]یه سری ادمین وجود دارن اگه توی backend یا frontend لاگین کنن می تونن توی هر دو بخش سایت دسترسی داشته باشن
[*]تعداد کاربر وجود دارن که فقط به frontend می تونن دسترسی داشته باشن، یعنی اگه لاگین کردن فقط بتونن توی این بخش باشن و وقتی وارد backend شدن بهشون اجازه داده نشه یا مثل کاربری که وارد سایت نشده و نیاز با لاگین داره باهاشون برخورد بشه
[/list]
بازم ممنون
[/rtl][/font]
[font="Tahoma"][rtl]
بهتره اینطوری بگم، کاربرای بخش frontend (کاربرهای سایت) زیر مجموعه کاربرای بخش مدیریت (backend) باشند که فقط دسترسی به بخش frontend دارند ولی کاربرای بخش ادمین دسترسی به همه بخش ها دارند.
[/rtl][/font]
[rtl]توی کنترلر متد init کنترل کن دسترسی رو[/rtl]
[font="Tahoma"][rtl]
برای درک بهتر از لاگین کردن یوزر کلاس زیر رو برای خودم مثال زدم :
[/rtl][/font]
class testUser implements IdentityInterface{
public $username = 'ali';
public static function findIdentity($id)
{
return 'findIdentity';
}
public static function findIdentityByAccessToken($token, $type = null)
{
return 'findIdentityByAccessToken';
}
public function getId()
{
return 'getId';
}
public function getAuthKey()
{
return 'getAuthKey';
}
public function validateAuthKey($authKey)
{
return 'validateAuthKey';
}
}
$ob = new testUser();
echo (Yii::$app->user->isGuest) ? 'is guest</br>' : 'is user';
Yii::$app->user->login($ob, 3600);
echo (Yii::$app->user->isGuest) ? 'is guest</br>' : 'is user';
[font="Tahoma"][rtl]
این کد رو توی view گذاشتم که راحت تر تست کنم. مشکل اینجاست که کاربر لاگین نمی مونه. بعنی هرسری که refresh می کنم قبل از login می زنه is guest و بعد از لاگین می زنه is user
مشکل کجاست؟
ممنون
[/rtl][/font]