é, é bem parecido com a ideia q eu tenho ... mas por exemplo, se uma nova permissao e criada, faz-se necessario ir nos controllers adiciona-la ao array de permissoes ne? Era isso q eu queria evitar, definir as permissoes via aplicacao e nao codigo, saca?
Obrigado por responder, vamo q vamo movimentar essa lista. []'s - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Luiz Alberto S. Ribeiro [ Beto ] http://beto.euqueroserummacaco.com 2010/8/23 Get <[email protected]> > Ae Beto, > > já precisei fazer algo parecido, e no meu caso eu fiz o seguinte... > > no *before* do controlador eu coloquei um array com os metodos e as > permissoes necessárias pra executar cada um deles, mais ou menos assim: > > $permissoes = array( > 'index' => array('basica'), > 'noticias' => array('basica','administrador'), > ); > > depois eu capturo o nome do action que foi chamado e verifico se existe um > indice no array, se houver faço um foreach e verifico se o usuário tem cada > uma das roles necessárias, se não tiver é porque não precisa de permissão. > > algo assim... > > if ( array_key_exists($metodo,$permissoes) ){ > foreach ( $permissoes[$metodo] as $p ){ > if ( ! Auth::instance()->logged_in($p) ){ > faz_alguma_coisa(); > } > } > } > > Não sei se ajudou. > > valeu > > Get > > 2010/8/23 Beto <[email protected]> > >> Boas a todos, >> >> Hoje eu estava pensando sobre algumas coisas relacionadas a autenticacao >> do Kohana e me veio uma ideia a cabeça.. >> >> Sabe-se que o KO tem um modulo de autenticacao, mas para algumas coisas eu >> acho ele meio embassado de usar, o fato de ter q verificar >> se o usuario esta em determinada regra por exemplo: >> >> Auth::instance()->logged_in('nome da role') >> >> >> e se eu crio uma nova role que tem acesso aquele metodo? tenho q ir em >> todos os controllers que faz essa verificacao e adicionar o nome dessa regra >> tbm? >> >> Entao foi que surgiu a ideia de criar um modulo de permissoes por metodos >> ( fiz isso num projeto pessoal ) e funcionou bem. >> É mais ou menos gravar em uma tabela que grupos ( roles ) tem permissoes a >> determinados metodos do controler. >> >> por exemplo: >> >> role:admin ->controller_admin/action_index, >> controller_admin/action_form ... >> role:user -> controller_user/action_form >> >> e ai atraves dos eventos do KO, cria-se um metodo para verificar se o >> grupo que o usuario logado tem permissao para executar aquele metodo daquele >> controller, caso nao e redirecionado para uma pagina que informa o acesso >> negado. >> >> Enfim, alguem ja pensou ou desenvolveu algo parecido? Acham q isso é >> valido ou eu to viajando demais ? >> >> Na verdade eu ja fiz isso, resta a parte de verificar atraves dos eventos, >> e queria saber da opniao de vcs, pra talvez empacotar isso num modulo. >> >> Vamos debater, e movimentar a lista. >> >> >> []'s >> >> >> >> >> >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> - - - - >> >> >> Luiz Alberto S. Ribeiro [ Beto ] >> http://beto.euqueroserummacaco.com >> >> >> >> >> -- >> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >> Php" dos Grupos do Google. >> Para postar neste grupo, envie um e-mail para [email protected] >> . >> Para cancelar a inscrição nesse grupo, envie um e-mail para >> [email protected]<kohana-php%[email protected]> >> . >> Para obter mais opções, visite esse grupo em >> http://groups.google.com/group/kohana-php?hl=pt-BR. >> > > -- > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" > dos Grupos do Google. > Para postar neste grupo, envie um e-mail para [email protected]. > Para cancelar a inscrição nesse grupo, envie um e-mail para > [email protected]<kohana-php%[email protected]> > . > Para obter mais opções, visite esse grupo em > http://groups.google.com/group/kohana-php?hl=pt-BR. > -- Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google. Para postar neste grupo, envie um e-mail para [email protected]. Para cancelar a inscrição nesse grupo, envie um e-mail para [email protected]. Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
