我正在使用 laravel 基本策略系统来保护未经授权的用户免受更新发布的影响。例如,用户的 ID 为 1,帖子表中的User_id也为 1。
现在$this->authorize('update',$post);我只能传递一个变量$post来进行身份验证。在can方法中我还可以使用$user变量$user->can('update',$post)进行授权。
这是代码:
在 PostPolicy.php 中:
public function update(User $user, Post $post)
{
return $user->id === $post->user_id;
}
Run Code Online (Sandbox Code Playgroud)
在 AuthServiceProvider.php 中:
protected $policies = [
Post::class => PostPolicy::class
]
Run Code Online (Sandbox Code Playgroud)
在控制器授权方式中:
public function update(Request $request, $id)
{
$post=Post::find(1);
$user=User::find(1);
$this->authorize('update',$post);
return 'Hello Everything Access For You ';
}
Run Code Online (Sandbox Code Playgroud)
在控制器中使用 can 方法:
public function update(Request $request, $id)
{
$post=Post::find(1);
$user=User::find(1);
if($user->can('update',$post)){
return 'Your are …Run Code Online (Sandbox Code Playgroud) 我将卡信息存储在数据库中,例如客户第一次付款时的卡 ID card_*****和客户 ID cus_****,以备后用。用户选择他的卡,例如以单选按钮的形式,visa****4242并使用卡 ID 或客户 ID 收费。现在我正在使用条纹模式框进行付款。每次付款都会创建新客户和卡 ID。我如何在第二次付款时使用卡 ID 或客户 ID 收费?这是我的条纹代码
$customer =Stripe_Customer::create(array(
'email' => $_SESSION['userEmail'],));
$charge = Stripe_Charge::create(array(
"amount" => $amount_cents,"currency" => "usd","source" =>
$_POST['stripeToken'],"description" => $description,
));
Run Code Online (Sandbox Code Playgroud)
可能这个问题可能重复。但我找不到最佳答案。