Ich versuche, Autorisierung für einige Inhalte Einschränkungen in View-Datei, wie ich weiß, dass die einzige Autorisierung zwischen Laravel unterstützt Auth (Gate, Middleware), die in View-Datei verwendet werden kann ist (Politik) auth. Und Politik-Auth arbeitet mit Laravel-Modellen, während meine Datenquellen kein Modell ist, ich bekomme nur Daten von einigen Webservices.Laravel-Richtlinie Autorisierung in Blade-View-Datei
habe ich eine neue Politik (isPlatinum)
<?php
namespace App\Policies;
use App\User;
use App\WebUser;
use Illuminate\Auth\Access\HandlesAuthorization;
class isPlatinum
{
use HandlesAuthorization;
/**
* Create a new policy instance.
*
* @return void
*/
public function __construct()
{
}
public function view(WebUser $user){
return $user->user->subscription->type === 'platinum';
}
}
Hinweis: die App \ WebUser ist kein Modell-Datei, es ist nur eine Klasse, die von Webdiensten Benutzer Informationen zu erhalten.
In meiner Klinge Ansicht Datei
@cannot('view',$isPlatinum)
This page is for Platinum Users
@endcannot
geben Fehler
Undefined variable: isPlatinum (View:
Ich weiß, dass ich in meiner Situation sollte Laravel Politik Auth nur für Modelle verwenden, was ist die richtige Laravel Auth i sollte verwenden und ich kann verwenden, ist innen Ansicht Datei?
Danke, Dies ist die Art, wie ich denke, ist die beste Wahl für mich, ich habe genau das, was Sie erwähnt haben, Fehler zeigt Antwort: { "Fehler ":" "token_not_provided"}, Token wird für die Webservice-Anforderung in App \ WebUser bereitgestellt, der Token-Wert stammt von Session :: get ('Token'), dd (Session :: get ('Token')) gibt das Token zurück ohne irgendein Problem, frage ich mich gerade, ob AuthServiceProvider nicht mit Sitzungswerten in WebUser arbeitet? – user2873860
Mit Bezug auf https://laracasts.com/discuss/channels/general-discussion/laravel-5-session-data-is-not-accessible-in-the-app-boot-process wird die Boot-Methode des Providers ausgelöst Alle Anbieter registrieren sich, damit die Sitzung funktionieren kann. In meinem Fall wird der Wert des WebUser Token in der Sitzung – user2873860
https://stackoverflow.com/questions/34577946/how-to-retrieve-session-data-in-serviceproviders-in-laravel – Ben