Daniel Kuroski 0 Denunciar post Postado Janeiro 15, 2013 Boa tarde. Estou começando a aprender a utilizar o framework Laravel, e estou tendo dificuldades quanto a autenticação. Por padrão nas configurações, podemos definir a tabela e o modelo que queremos utilizar para a autenticação. Porém no meu sistema eu tenho 2 sessões que precisam disso, e só posso definir uma tabela pelo padrão. Tenho a sessão de login para administradores/moderadores (que utiliza a tabela users) e outra sessão para as empresas (que utiliza a tabela empresas). Já tentei utilizar alguns bundles, mas eles não tem uma documentação muito clara para mim. Gostaria de saber se alguém tem alguma solução para este problema. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Kuroski 0 Denunciar post Postado Janeiro 15, 2013 Acabei encontrando uma solução alternativa para este problema. Eu não consegui criar o meu próprio Driver para o DB, então decidi trabalhar com Roles. Estou postando abaixo a solução Encontrei um bundle que trabalha com Roles (funções) / permissões e níveis de permissões https://github.com/Toddish/Verify Sigam o passo-a-passo para a instalação do Bundle. Segue um exemplo bem tosco xD de aplicação do bundle após a instalação: aplication/routes.php // INDEX Route::get('/', function() { return View::make('pages.home'); }); // Recebimento do form de LOGIN Route::post('login', function() { $userinfo = array( 'username' => Input::get('username'), 'password' => Input::get('password'), 'remember' => true ); if ( Auth::attempt($userinfo) ) { return Redirect::to('admin'); } else { return Redirect::to('/') ->with('login_errors', true); } }); // LOGIN COM SUCESSO Route::get('admin', array('before' => 'auth', 'do' => function() { return View::make('pages.admin'); })); // LOGOUT Route::get('logout', function() { Auth::logout(); return Redirect::to('/'); }); // CRIAR UM NOVO USUARIO route::get('create', function() { $user = new Verify\Models\User; $user->set_password('123'); $user->username = 'outroAdmin'; $user->role_id = 2; $user->email = 'example@gmail.com'; $user->created_at = date('Y-m-d H:i:s'); $user->save(); }); application/views/templates/main.blade.php <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>KSI Tecnologia</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content=""> <meta name="author" content=""> </head> <body> @if ( Auth::guest() ) <a class="btn" href="{{ URL::to('/')}}"> Login </a> @else <a class="btn" href="{{ URL::to('logout')}}"> Logout, <strong>{{ Auth::user()->username }} </strong> </a> @endif <div class="container"> @yield('content') </div><!--/container--> </body> </html> application/views/pages/home.blade.php @layout('templates.main') @section('content') <div class="span4 offset4 well"> {{ Form::open('login') }} <!-- check for login errors flash var --> @if (Session::has('login_errors')) {{ Alert::error("Usuário ou senha incorreto.") }} @endif <!-- username field --> <p>{{ Form::label('username', 'Usuário') }}</p> <p>{{ Form::text('username') }}</p> <!-- password field --> <p>{{ Form::label('password', 'Senha') }}</p> <p>{{ Form::password('password') }}</p> <!-- submit button --> <p>{{ Form::submit('Login', array('class' => 'btn-large')) }}</p> {{ Form::close() }} </div> @endsection application/views/pages/admin.blade.php @layout('templates.main') @section('content') <div class="hero-unit"> <h1>Últimos chamados</h1> </div> <div class="row"> @if(Auth::is('Admin')) <h1>Eu sou um Admin</h1> @endif @if(Auth::is('Super Admin')) <h1>Eu sou um SUPER Admin</h1> @endif @if(Auth::is('empresa')) <h1>Eu sou uma empresa</h1> @endif </div> @endsection Compartilhar este post Link para o post Compartilhar em outros sites