# زبان های اسکریپتی > PHP > Yii Framework >  مشکل با لاگین در yii2 ( گاهی اوقات حتی با وجود لاگین بودن باز هم کاربر با خطای ۴۰۳ مواجه می شود)

## shakibonline

سلام. 
برنامه با استفاده از yii2 نوشته شده است و گاهی اوقات که کاربر در حال مشاهده ی صفحات ( صفحاتی که کاربر حق دسترسی به آن را دارد )  می باشد، با خطای عدم امکان دسترسی مواجه می شود. البته با رفرش کردن مجدد صفحه، کار می تواند صفحه ی مورد نظر را مشاهده کند.

پس از بررسی های که انجام دادم، موجه شدم که کاربر به دلیل برقرار نبودن،‌شرط زیر امکان دسترسی ندارد. 

if(!\Yii::$app->user->identity)



کد کامل، متد مربوط به این بخش


public static function CheckHasPermission($permission)
    {
        if(!\Yii::$app->user->identity) {
            \Yii::error($message = 'User Not identity', $category = 'ABBAS');
            return false;
        }
        $role_admin = Role::find()->where(['rle_slug' => 'admin'])->one()->rle_id;
        if(\Yii::$app->user->identity && \Yii::$app->user->identity->usr_role == $role_admin) {
            return true;
        }
        $perid = Permission::findOne(['pms_slug'=>$permission]);
        if(!$perid) {
            if ( $permission == 'order_list' ) {
                \Yii::error($message = 'No permission', $category = 'ABBAS');
                \Yii::error($message = $perid, $category = 'ABBAS-perid');
            }
            throw new \yii\web\ForbiddenHttpException('دسترسی به این صفحه برای شما امکانپذیر نیست ');
        }


        $role =  Roleassignment::find()
            ->where([
                'rag_role'=>\Yii::$app->user->identity->usr_role,
                'rag_permission'=>$perid->pms_id
            ])
            ->one();

        if ( $permission == 'order_list' ) {
            \Yii::error('Return Roleassignment', $category = 'ABBAS');
            \Yii::error($role, $category = 'ABBAS-role');
        }
        return $role;
   }



که با توجه به لاگ های ذخیره شده، هنگامی که این مشکل رخ می دهد، شرط خط ۳ برقرار نمی باشد، یعنی شرط زیر 


if(!\Yii::$app->user->identity) {
            \Yii::error($message = 'User Not identity', $category = 'ABBAS');
            return false;
        }


و همانطور که گفتم، با رفرش کردن صفحه، مشکل حل خواهد شد!

----------


## charcharkh

موقع لاگین اینو چجوری تنظیم کردی



Yii::$app->user->login($login->getUser(), 3600 * 24 * 30);

----------


## m_r_1989

مشکل اینکه identity  خالی هست 


سرور اچ پی 

گفتار درمانی

----------

