PHP Laravel - jak přesměrovat nepřihlášeného uživatele vždy na login - host nemá přístup nikam
Dobrý den,
nevím si rady jak v PHP Laravel FW udělat autorizační/autentizační pravidlo - pokud není uživatel přihlášen, tak se nikam nedostane, pouze na login.
Když na to jdu přes Policy, kdy si chci nastavit např. že pro funkci analyzer() musí být přihlášen, tak to nefunguje... Díky za radu
class TrackPolicy
Díky za jakoukoliv radu
Dobrý den,
doplňuji jak jsem to vyřešil:
Upravit App\Http\Middleware\Authenticate tak, aby nepřihlášeného uživatele přesměroval na login:
Upravit routes/web.php - udělat Route:group a do něj umístit routy, kam se nepřihlášený uživatel nemá dostat:
Show english version
nevím si rady jak v PHP Laravel FW udělat autorizační/autentizační pravidlo - pokud není uživatel přihlášen, tak se nikam nedostane, pouze na login.
Když na to jdu přes Policy, kdy si chci nastavit např. že pro funkci analyzer() musí být přihlášen, tak to nefunguje... Díky za radu
class TrackPolicy
/**
* Určuje, zdali uživatel může použít analyzer
*
* @param User $user
* @param Track $track
* @return mixed
*/
public function analyzer(User $user)
{
if ($user->hasRole('admin') || $user->hasRole('editor')) {
return Response::allow();
}
return Response::deny('Nemáte dostatečná oprávnění pro použití analyzeru!');
}
Díky za jakoukoliv radu
ODPOVĚĎ
Dobrý den,
doplňuji jak jsem to vyřešil:
Upravit App\Http\Middleware\Authenticate tak, aby nepřihlášeného uživatele přesměroval na login:
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string|null
*/
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
Upravit routes/web.php - udělat Route:group a do něj umístit routy, kam se nepřihlášený uživatel nemá dostat:
Route::group( ['middleware' => 'auth' ], function()
{
/**
* Crack
*/
Route::resource('crack', 'CrackController'); // only CRUD support
});
Show english version