Estoy haciendo un sistema que requiere autenticación, pero no estoy utilizando el middleware de Laravel 5, sino que estoy haciendo mis propios procesos.
Tengo la ruta: http://localhost/laravel/public/principal ... antes de ingresar a ella, el usuario debe estar logeado, pero el problema es que si en el navegador pongo directamente la url mencionada, la pagina carga aunque el usuario no haya puesto sus credenciales.
Les pongo los códigos:
routes.php
Código:
WelcomeController.phpRoute::get('/', 'WelcomeController@index'); Route::get('logout', 'WelcomeController@logout'); Route::post('login', 'WelcomeController@dologin'); Route::get('principal', array('before' => 'auth', 'uses' => 'WelcomeController@principal'));
Código:
Gracias por la ayuda. <?php namespace App\Http\Controllers; use Auth; use Input; use Illuminate\Support\Facades\Redirect; class WelcomeController extends Controller { /* |-------------------------------------------------------------------------- | Welcome Controller |-------------------------------------------------------------------------- | | This controller renders the "marketing page" for the application and | is configured to only allow guests. Like most of the other sample | controllers, you are free to modify or remove it as you desire. | */ /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest'); } /** * Show the application welcome screen to the user. * * @return Response */ public function index() { return view('inicio'); } public function principal() { return view('principal'); } public function logout() { Auth::logout(); return Redirect::to('/'); } public function dologin() { if(Auth::attempt(array('email'=>Input::get('email'), 'password'=>Input::get('password')))) { return Redirect::intended('principal'); } else{ return 'error'; } } }