Yii Framework Forum: iki db , farklı kullanıcı girişleri - Yii Framework Forum

Jump to content

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

iki db , farklı kullanıcı girişleri

#1 User is offline   alper 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 53
  • Joined: 12-November 10

Posted 16 December 2010 - 02:19 AM

İki tane vtım var biri ayarların tutulduğu kullanıcı giriş kayıtlarının yapıldığı. Diğeri ise o kullanıcıların yaptığı işlemleri tutuyor.

Şimdi admin olarak girecek olan ilk vt ye bağlanıcak. İşlem yapıcaksa diğer vtye geçip kullanıcı giriş yapmalı.
Admin olarak girdiği yerde sessiona veriyi alıcam admin mi değilmi kontrolleri yapabilmek için.
Admin olarak girdiği yerdeki session ile user olarak girilen yerdeki sessionlarda
if (!Yii::app()->user->isGuest) <- koşulu güvenli olur mu ?

Admin olarak girdi , adres çubuğundan diğer vtye bağlı geçmiş hareketlerin olduğu url adrese girerse session isGuest değildir. Giriş serbest olmaz mı yada ne olur bilen var mı?
0

#2 User is offline   Umut Gundogdu 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 102
  • Joined: 27-November 08
  • Location:Ankara

Posted 16 December 2010 - 03:05 AM

isGuest ile sadece login olup olmadigini kontrol edebilirsin. Controller de access rules lari setup yaparken asagidaki gibi yaparsan admin nin kullanicinin ve login olmamis kullanicinin giris izinlerini belirlemis olursun

public function accessRules()
	{
		return array(
			array('allow',  // allow all users to perform 'index' and 'view' actions
				'actions'=>array('index','view'),
				'users'=>array('*'),
			),
			array('allow', // allow authenticated user to perform 'create' and 'update' actions
				'actions'=>array('create','update'),
				'users'=>array('@'),
			),
			array('allow', // allow admin user to perform 'admin' and 'delete' actions
				'actions'=>array('admin','delete'),
				'users'=>array('admin'),
			),
			array('deny',  // deny all users
				'users'=>array('*'),
			),
		);
	}

0

#3 User is offline   alper 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 53
  • Joined: 12-November 10

Posted 16 December 2010 - 03:29 AM

Peki giriş yapanının admin yada user olduğunu useridentityden nasıl belirtebilirim ?

1. vt ye giriş ekranı admin.
2. vt ye giriş ekranı user.

İkiside UserIdentity ile girdiğini düşünürsek. Sessiona mı belirtmeliyim admin girdi yada user girdi diye.
0

#4 User is offline   Umut Gundogdu 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 102
  • Joined: 27-November 08
  • Location:Ankara

Posted 16 December 2010 - 07:09 AM

Bir cok sekilde admin kullaniciyi belirleyebilirsin. Eger username "admin" olmasi kafi ise asagidaki gibi session tanimlamana gerek kalmaz

public function authenticate()
	{
		$users=array(
			// username => password
			'demo'=>'demo',
			'admin'=>'admin',
		);
		if(!isset($users[$this->username]))
			$this->errorCode=self::ERROR_USERNAME_INVALID;
		else if($users[$this->username]!==$this->password)
			$this->errorCode=self::ERROR_PASSWORD_INVALID;
		else{
			$this->errorCode=self::ERROR_NONE;
		}
		return !$this->errorCode;
	}


Birden fazla admin varsa dedigin gibi session kullanip accessRules da

array('allow', // allow admin user to perform 'admin' and 'delete' actions
				'actions'=>array('admin'),
				'users'=>(Yii::app()->user->getState('roletype')=='admin')?array(Yii::app()->user->getName()):array(''),
			),


veya 'users' yerine experessions kullanabilirsin
1

#5 User is offline   alper 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 53
  • Joined: 12-November 10

Posted 16 December 2010 - 08:23 AM

umutau çok teşekkür ederim session ile giren kişiye göre değer vererek yaptım. Bu tür yol gösteren olduğunda insanın daha da öğrenesi geliyor :)
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