Yii Framework Forum: Session Oturum Kontrolü - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Session Oturum Kontrolü

#1 User is offline   mirimiran 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 29
  • Joined: 13-January 16

Posted 13 January 2016 - 10:10 AM

Merhaba Arkadaşlar yii frameworkü yeni öğrenmeye başlıyorum. Site İçin Yönetim Paneli yapıyorum ama bir yerde tıkandım. Sizin engin bilgilerinize güveniyorum :) umarım bana yardımcı olursunuz. Yönetim panelinde admin girişi yapmadan önce www.siteminadi/admin yazdığımda www.siteminadi/admin/login sayfasına yönlendirilmesi lazım ve login sayfasında admin girişi yaptıktan sonra da logout olmadan login sayfası açılmaması lazım. Bunu nasıl yapabilirim yardımcı olursanız sevinirim.
0

#2 User is offline   McQueen 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 185
  • Joined: 13-August 11
  • Location:Istanbul/Turkey

Posted 13 January 2016 - 10:14 AM

View Postmirimiran, on 13 January 2016 - 10:10 AM, said:

Merhaba Arkadaşlar yii frameworkü yeni öğrenmeye başlıyorum. Site İçin Yönetim Paneli yapıyorum ama bir yerde tıkandım. Sizin engin bilgilerinize güveniyorum :) umarım bana yardımcı olursunuz. Yönetim panelinde admin girişi yapmadan önce www.siteminadi/admin yazdığımda www.siteminadi/admin/login sayfasına yönlendirilmesi lazım ve login sayfasında admin girişi yaptıktan sonra da logout olmadan login sayfası açılmaması lazım. Bunu nasıl yapabilirim yardımcı olursanız sevinirim.


Selam,

Yii 1 mi Yii 2 mi? :)
0

#3 User is offline   mirimiran 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 29
  • Joined: 13-January 16

Posted 13 January 2016 - 10:41 AM

View PostMcQueen, on 13 January 2016 - 10:14 AM, said:

Selam,

Yii 1 mi Yii 2 mi? :)


Yii 1
0

#4 User is offline   McQueen 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 185
  • Joined: 13-August 11
  • Location:Istanbul/Turkey

Posted 13 January 2016 - 10:46 AM

View Postmirimiran, on 13 January 2016 - 10:41 AM, said:

Yii 1


//logout action'ın başına
if(Yii::app()->user->isGuest){
$this->redirect('/login');
}

//login action'ın başına
if(!Yii::app()->user->isGuest){
$this->redirect('/logout');
}


//ayrıca access control için her controller'ında şunu kullanabilirsin
// ? login olmuş, 'admin' sadece admin kullanıcısı, * ise herkes anlamına gelmekte.
// login olması gerekli actionlarda adam login olmadıysa direk login sayfasına yönlendirir...
// allow => izin ver, deny => izin verme

class PostController extends CController
{

    public function filters() {
        return array(
            'accessControl', // perform access control for CRUD operations
        );
    }

    public function accessRules()
    {
        return array(
            array('deny',
                'actions'=>array('create', 'edit'),
                'users'=>array('?'),
            ),
            array('allow',
                'actions'=>array('delete'),
                'roles'=>array('admin'),
            ),
            array('deny',
                'actions'=>array('delete'),
                'users'=>array('*'),
            ),
        );
    }
}



0

#5 User is offline   mirimiran 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 29
  • Joined: 13-January 16

Posted 14 January 2016 - 03:04 AM

View PostMcQueen, on 13 January 2016 - 10:46 AM, said:

//logout action'ın başına
if(Yii::app()->user->isGuest){
$this->redirect('/login');
}

//login action'ın başına
if(!Yii::app()->user->isGuest){
$this->redirect('/logout');
}


//ayrıca access control için her controller'ında şunu kullanabilirsin
// ? login olmuş, 'admin' sadece admin kullanıcısı, * ise herkes anlamına gelmekte.
// login olması gerekli actionlarda adam login olmadıysa direk login sayfasına yönlendirir...
// allow => izin ver, deny => izin verme

class PostController extends CController
{

    public function filters() {
        return array(
            'accessControl', // perform access control for CRUD operations
        );
    }

    public function accessRules()
    {
        return array(
            array('deny',
                'actions'=>array('create', 'edit'),
                'users'=>array('?'),
            ),
            array('allow',
                'actions'=>array('delete'),
                'roles'=>array('admin'),
            ),
            array('deny',
                'actions'=>array('delete'),
                'users'=>array('*'),
            ),
        );
    }
}





Hocam burda anlamadığım birkaç nokta var. Birincisi PostController sayfasını ben mi oluşturmam lazım yoksa Gii module ile mi yapmam lazım. İkincisi Yii::app()->user->isGuest bölümündeki user kullanıcıları çektiğim tablo adı olması lazım değil mi?
0

#6 User is offline   McQueen 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 185
  • Joined: 13-August 11
  • Location:Istanbul/Turkey

Posted 14 January 2016 - 03:46 AM

PostController örnek bir kontroller adı. Sen hangi action'a kullanıcı login yaparak ulaşmasını istiyorsan o controller içine bu fonksiyonları yerleştireceksin.

Yii::app()->user->isGuest (ziyaretçi mi?) ise sana true yada false değerini verir.

Kullanıcı login yapmış ise false değerini, kullanıcı henüz login işlemini yapmamışsa true değerini verir.
0

#7 User is offline   mirimiran 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 29
  • Joined: 13-January 16

Posted 14 January 2016 - 04:13 AM

View PostMcQueen, on 14 January 2016 - 03:46 AM, said:

PostController örnek bir kontroller adı. Sen hangi action'a kullanıcı login yaparak ulaşmasını istiyorsan o controller içine bu fonksiyonları yerleştireceksin.

Yii::app()->user->isGuest (ziyaretçi mi?) ise sana true yada false değerini verir.

Kullanıcı login yapmış ise false değerini, kullanıcı henüz login işlemini yapmamışsa true değerini verir.



Hocam Size çok teşşekkür ederim size zahmet verdiysem kusura bakmayın.

if(Yii::app()->user->isGuest){
$this->redirect('/login');
}

//login action'ın başına
if(!Yii::app()->user->isGuest){
$this->redirect('/logout');
}

Burda render olayını yüklemeyi unutmuşum diye yönlendirme döngüsü oluşuyordu sonunda hallettim sayenizde tekrardan çok sağolun.
0

#8 User is offline   McQueen 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 185
  • Joined: 13-August 11
  • Location:Istanbul/Turkey

Posted 14 January 2016 - 04:18 AM

View Postmirimiran, on 14 January 2016 - 04:13 AM, said:

Hocam Size çok teşşekkür ederim size zahmet verdiysem kusura bakmayın.

if(Yii::app()->user->isGuest){
$this->redirect('/login');
}

//login action'ın başına
if(!Yii::app()->user->isGuest){
$this->redirect('/logout');
}

Burda render olayını yüklemeyi unutmuşum diye yönlendirme döngüsü oluşuyordu sonunda hallettim sayenizde tekrardan çok sağolun.


Bir şeye dikkatini çekeyim. Doğru olan yukarıda verdiğim accessRule filtresi ile kontrol yapmaktır.
0

#9 User is offline   mirimiran 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 29
  • Joined: 13-January 16

Posted 14 January 2016 - 06:49 AM

View PostMcQueen, on 14 January 2016 - 04:18 AM, said:

Bir şeye dikkatini çekeyim. Doğru olan yukarıda verdiğim accessRule filtresi ile kontrol yapmaktır.

Controller sayfasında accessRule filtresini kullanıyorum zaten
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users