Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola gente minha duvida parece ser basica mais eu não saquei como eu poderia montar dois admin dentro do cake
tipo no primeiro admin seria usado pelo gerente do admin
que ficaria algo assim
localhost/cake/admin/index
e o segundo
localhost/cake/usuario/index
ou seja duas areas restriitas dentro do site
alguem tem uma ideia de por onde começar para montar a area restrita
pq quando eu montei o do admin
as url ficaram fechadas para o admin
e nao tem como montar um segundo admin para usuario
minha tabela e basica
id
login
senha
nivel int
com base no nivel e direcionado ao seu painel
no php comum eu faria um select pegando os login e olhava o nivel
e jogava para admin ou usuario
e validada pagina por pagina olhando sempre o nivel
no cake eu tava vendo que ele fechar o admin para um usuario so :(
obrigado a todos pela dicas e tenha um bom dia :)
Ola lucas bom dia
como sempre me dar um apoio :)
essa versao 1.3 e aconselhavel usar ou fica por enquanto na versao estavel que e a 1.26?
pq ele me parece com bastante mais simples de trabalhar
pq meu controller esta assim
<?php
// file: /app/app_controller.php
class AppController extends Controller {
// class variables
var $_Usuario = array();
function beforeFilter() {
// if admin url requested
if(isset($this->params['admin']) && $this->params['admin']) {
// check user is logged in
if( !$this->Session->check('Usuario') ) {
$this->Session->setFlash('Eu Lamento Essa area e restrita dentro do site','flash_bad');
$this->redirect('/admin');
}
// save user data
$this->_Usuario = $this->Session->read('Usuario');
$this->set('usuario',$this->_Usuario);
// change layout
$this->layout = 'admin';
}
}
}
?>
no meu controle como você ver ele vai direto para o admin ser estive logado
você dar uma lida na postagem la e posto o resultado para você
um abraço e mais uma vez obrigado :)
essa versao 1.3 e aconselhavel usar ou fica por enquanto na versao estavel que e a 1.26?
Com certeza! Está no RC4 já, eu usava quando estava no alpha sem problemas xDMas é bom você ver o guia de migração, algumas coisas mudaram da 1.26....
Daew Lucas,
só aproveitando o tópico... eu meio que fiquei um pouco confuso com essa parte administrativa do cake...
Para fazer as áreas restritas, basta definir uma rota como, Configure::write('Routing.prefixes', array('admin', 'usuario'));, e nas actions utilizar a sintaxe prefixo_action, ou seja, admin_add ??
No php puro, eu geralmente crio uma pasta, tipo painel, e dentro dessa pasta crio as subpastas para cara ação, como se fosse um site dentro do outro... daí.. no cake precisaria dessas subpastas, ou nas actions que define nos controlers de cada model é que faço isso?
Outro lance que eu vi aqui Lucas, foi que,
se eu colocar o var $components = array('Session', 'Auth'); e as demais configurações no beforeFilter(), no app_controller, todas as páginas do site ficam restitas e necessitando de login para acessar. Ao acessar a index, por exemplo, ele já redireciona para a página de login.
Para resolver isso, eu devo fazer essas configurações do Auth Component em cada controller que vai ser de acesso restrito, tipo, no painel e adiministracao? Dai neles que eu declaro os $components e o beforeFilter()???
Você não precisa de subpastas, você utiliza apenas os prefixos.
Quanto a segunda questão, entre na seção de tutoriais, que eu postei um tuto sobre o AuthComponent lá.
Massa... mas e o lance do var $components = array('Session', 'Auth');??
Se eu declarar isso no app_controllers() ele restringe todas as páginas, e só dá acesso se estiver logado no site... =/
ola meu velho eu tambem cheguei nessa parte ai que você esta :)
nao sei qual seria o mais certo afinal eu tambem estou aprendendo
mais eu nao montei essa parte ainda
fiz so uns teste e deu certo
no tem quando a gente extende o appcontroller ele fecha tudo certo ou seja ela tracar o site e jogar direto para login igual no meu :)
você pode fazer assim jogar direto no controller o beforeFilter()-admin_usuario
a logica e a mesma que usamos "ser nao existir session usuario jogar no login
assim você ficar com os outros controller aberto sacou a ideia .
essa foi a maneira que eu encontrei
um abraço e tenha um boa tarde :)
O novo CakePHP (1.3) mudou a forma como trata os admin routing, agora você pode passar um array:
Configure::write('Routing.prefixes', array('admin', 'usuario'));
Para versões anteriores, de uma olhada:
http://bakery.cakephp.org/articles/view/secrets-of-admin-routing
Ex:
Router::connect('/profiles/:controller/:action/*', array('prefix' => 'profiles', 'profiles' => true));Vai acessar Controller::profiles_action()