뷰 파일에서 사용할 수있는 인증 (게이트, 미들웨어) 사이의 유일한 인증 인 것으로 알고 있으므로보기 파일의 일부 내용 제한에 대한 사용자 권한을 부여하려고합니다. (정책) 권한입니다. 정책 설정은 laravel 모델을 사용하여 작동합니다. 데이터 소스는 모델이 아니며 일부 웹 서비스에서 데이터를 가져 오는 중입니다. 앱 \ WEBUSER이는 웹 서비스에서 사용자 정보를 얻으려면, 그 클래스의, 모델 파일이 아닙니다 : laravel 정책 사용 블레이드보기 파일의 승인
나는 새로운 정책 (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';
}
}
공지 사항을 만들었습니다. 내 블레이드보기 파일 제공
@cannot('view',$isPlatinum)
This page is for Platinum Users
@endcannot
오류에
는
Undefined variable: isPlatinum (View:
내가 내 상황에서, 단지 모델 Laravel 정책 인증을 사용하는 가정 것을 알고, 올바른 laravel의 인증에 내가 무엇을 사용해야하며 내부보기 파일을 사용할 수 있습니까?
감사합니다, 이것은, 난 당신이 언급 정확히 무엇을했는지, 오류 표시 응답 : { "오류 ":"token_not_provided "}, 토큰은 App \ WebUser의 웹 서비스 요청에 제공되고 토큰 값은 Session :: get ('token'), dd (Session :: get ('token'))는 토큰을 반환합니다. 어떤 문제없이 AuthServiceProvider가 WebUser 내부의 Session 값으로 작업하지 않는지 궁금합니다. – user2873860
https://laracasts.com/discuss/channels/general-discussion/laravel-5-session-data-is-not-accessible-in-the-app-boot-process를 참조하십시오. 공급자 부팅 방법은 모든 제공 업체가 등록되므로 세션이 작동해야합니다. 내 경우 WebUser 토큰 값은 세션 – user2873860
https://stackoverflow.com/questions/34577946/how-to-retrieve-session-data-in-service-providers-in-laravel – Ben