Es ist manchmal notwendig, Benutzerautorisierung für eine Aktion ohne Argument zu prüfen, wie/Speicher-Methode erstellen:Wie definiert man eine Richtlinienmethode ohne Argument in Laravel 5.2?
class PostPolicy
{
use HandlesAuthorization;
/**
* Determine if the user can create a new post.
*
* @param \App\User $user
* @return bool
*/
public function create(User $user)
{
if($user->is_admin)
{
return true;
}
return false;
}
}
und das Autorisieren Methode in Postcontroller verwenden:
class PostController extends Controller
{
/**
* Show the form for creating a new post.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$this->authorize('create');
//...
}
}
Aber es scheint, dass eine Methode Politik ohne Argumente kann der authorize-Methode auf einem Controller nicht entsprechen und die Autorisierung schlägt immer fehl.
Es besteht nicht funktionieren, bis ich explizit die Klasse (\ App \ Post :: Klasse) in der Authorize-Methode definieren .. Verwendung App \ Post wird nicht funktionieren. –