alexa-tracking

[Laravel] Need help tentang AUTH gan

Main Content

1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/54daa01fbdcb17f3028b4572/laravel-need-help-tentang-auth-gan
[Laravel] Need help tentang AUTH gan
Agan2 minta solusi untuk ini: ane pke olliread multiauth tapi ga ketemu2 caranya untuk route group yang before auth sehingga dia bisa direct ke login page kalau belum login. ini codenya:

Code:

Route::group(['before' => 'auth'], function()
{
Route::get('/onlinetest', array('as'=>'onlinetest', 'uses'=>'HomeController@onlinetest'));
Route::get('/quiz', array( 'as'=>'quiz', 'uses'=>'HomeController@quiz'));
Route::get('/number', array( 'as'=>'number', 'uses'=>'HomeController@number'));
Route::get('/word', array( 'as'=>'word', 'uses'=>'HomeController@word'));

});

iini UserController nya:
Code:

public function handlelogin()
{
$today = date("Y-m-d H:i:s");

$userdata = array(
'email' => Input::get('username'),
'password' => Input::get('password')
);


if (Auth::check())
{
return Redirect::to('/');
}

if(Auth::user()->attempt($userdata, true))
{
$user = User::find(Auth::user()->get()->id);

// check if user has use his account for test
if ($user->status == '0')
{
Auth::logout();
Session::flush();
return Redirect::to('/login')->with('message', FlashMessage:emoticon-Big GrinisplayAlert('Your Account has been used for test', 'warning')emoticon-Wink;
}

$datebirth = Date($user->BirthDate);
$dob = Date("Y") - $datebirth;

Session:emoticon-Stick Out Tongueut('current_user', Input::get('username'));
Session:emoticon-Stick Out Tongueut('full_name', $user->FullName);
Session:emoticon-Stick Out Tongueut('gender', $user->Sex);
Session:emoticon-Stick Out Tongueut('dob', $dob);
Session:emoticon-Stick Out Tongueut('user_id', $user->id);

// set the user last login
$user->last_login = $today;
$user->save();

return Redirect::to('/onlinetest')->with('message', 'Login Successfully.');

}
else
{
return Redirect::to('/login')->with('message', FlashMessage:emoticon-Big GrinisplayAlert('Incorrect Username / Password', 'danger')emoticon-Wink;
}
}

My Filter:
Code:

<?php

/*
|--------------------------------------------------------------------------
| Application & Route Filters
|--------------------------------------------------------------------------
|
| Below you will find the "before" and "after" events for the application
| which may be used to do any work before or after a request into your
| application. Here you may also register your custom route filters.
|
*/

App::before(function($request)
{
//
});


App::after(function($request, $response)
{
//
});

/*
|--------------------------------------------------------------------------
| Authentication Filters
|--------------------------------------------------------------------------
|
| The following filters are used to verify that the user of the current
| session is logged into this application. The "basic" filter easily
| integrates HTTP Basic authentication for quick, simple checking.
|
*/

Route::filter('auth', function()
{
if (Auth::guest())
{
if (Request::ajax())
{
return Response::make('Unauthorized', 401);
}
else
{
return Redirect::guest('login');
}
}
});


Route::filter('auth.basic', function()
{
return Auth::basic();
});

/*
|--------------------------------------------------------------------------
| Guest Filter
|--------------------------------------------------------------------------
|
| The "guest" filter is the counterpart of the authentication filters as
| it simply checks that the current user is not logged in. A redirect
| response will be issued if they are, which you may freely change.
|
*/

Route::filter('guest', function()
{
if (Auth::check()) return Redirect::to('/');
});

/*
|--------------------------------------------------------------------------
| CSRF Protection Filter
|--------------------------------------------------------------------------
|
| The CSRF filter is responsible for protecting your application against
| cross-site request forgery attacks. If this special token in a user
| session does not match the one given in this request, we'll bail.
|
*/

Route::filter('csrf', function()
{
if (Session::token() !== Input::get('_token'))
{
throw new Illuminate\Session\TokenMismatchException;
}
});


Jika saya ga pke olliread itu bisa jalan sebelumnya. Tapi karena butuh untuk admin jadi pakai ollieread. tapi langsung ga bekerja.

kira2 gmna ya solusinya?

Thanks.
coba baca bagian ini gan
Code:
https://github.com/ollieread/multiauth#filters

filter default udah gak bisa digunain dg library ini. coba ubah filternya jadi
Code:
Route::filter('auth', function()
{
if (Auth::admin()->guest()) return Redirect::guest('login');
});





cmiiw
Quote:


Thanks Reply nya gan.

ane uda coba ganti ky gini
Code:
Route::filter('auth', function()
{
if (Auth::user()->guest())
{
return Redirect::guest('login');
}
});


tetapi ketika dipanggil di route before=>auth nya itu tetep bsia masuk ke dalam tanpa melakukan login.

ada yang kurang lg?
KASKUS Ads
Quote:


ganti Auth::guest jadi Auth::admin()->guest()

Code:
Route::filter('auth', function()
{
if (Auth::admin()->guest()) return Redirect::guest('login');
});
Quote:


ok gan. ternyata dari awal sudah bisa pas ganti filter. rupanya ane testing dengan session yang masi sangkut. dan ane ga ganti filter untuk logout jadinya nyangkut terus.

THanks
×