Quantcast
Channel: Yii Framework Forum
Viewing all articles
Browse latest Browse all 18717

Ajuda Com Autorização

$
0
0
Olá.
Programava com o CakePhp, porém ultimamente tenho lido sobre o Yii e resolvi migrar.

Estou tendo duas dúvidas. Um é em relação a autorização depois da autenticação.
Fiz o login seguindo esse tutorial (que acredito que todos sigam):
http://www.yiiframework.com/doc/guide/1.1/en/topics.auth

Consegui fazer tranquilo.
Quando fui fazer a parte de requisição, veio a gambiarra (da qual estou querendo fugir).

public function accessRules()
	{
		return array(
			array('allow',
				'actions'=>array('login'),
				'users'=>array('*'), // Sempre permitir acessar a página de login
			),
			array('allow',
				'actions'=>array(),
				'users'=>array('@'), // Acessar todas as actions, desde que esteja autenticado
			),
			array('deny',
				'actions'=>array(),
				'users'=>array('*'), // Bloqueia tudo, caso não entre na regra de cima
			)
        );
	}


Poréém a parte do "@" não está funcionando. Ele sempre acaba indo pra parte de login.
Consegui resolver via gambiarra, porém não é essa minha intenção.
Resolvi fazendo um if:

if(Yii::app()->user->name == 'Guest') {
// Condição de só ir para login
} else {
// Condição de acessar tudo
}


Funcionou, porém quero resolver da maneira certa.

Minha segunda dúvida é:
No CakePhp eu tinha a classe AppController, onde eu podia definir uma variável que seria acessado por todo o site.
No caso do Yii eu quero fazer isso também, pois estou fazendo um sistema e não um site institucional. Começa com o Login e Senha. Como que eu defino uma variável do tipo Usuario que eu consiga acessar em todos os controllers?

Outro caso seria até mesmo para a autorização. Eu não quero criar esse método em todos os controllers (evitar o DRY) como faço para uma única autorização valer para todos?

Desde já agradeço.

Viewing all articles
Browse latest Browse all 18717

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>