THẢO LUẬN

thg 11 30, 2017 10:43 SA

yes i'm sure. can u explant me? Thanksso much

0
thg 11 30, 2017 9:30 SA

edited :v

0
thg 11 30, 2017 6:41 SA

Are you sure that you have input the right API key using google console: https://console.developers.google.com ?

0
thg 11 30, 2017 6:21 SA

Anh ơi còn 3 cái dấu {{{ }}} nữa a 😄

0

Anh ơi cho em hỏi cái class abstract AbstractEloquentRepository thì mình cũng phải viết 1 cái interface cho nó ( chứa các hàm xài chung cho các interface khác kế thừa nó) đúng k hả a (bow)

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 11 30, 2017 3:48 SA

Mình thấy code của bạn có 1 argument đầu tiên là public function update(UserInterface $user, Post $post) nhưng khi đi vào làm ở policy thì argument đầu tiên là instance của App\User mà mình mà xóa file App\User đi là nó tèo ngay. Code báo lỗi không có file để include

0
thg 11 30, 2017 3:30 SA
User::join('user_roles', 'users.user_role_id', '=', 'user_roles.id')
    ->where('user_roles.role_id', '=', $roleId)
    ->get();

Ý bạn là câu query như thế này?

0
thg 11 30, 2017 3:12 SA

Ngoài việc tương tác với DOM bằng js thì có thể dùng cái khác đc k hả a (bow)

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 11 30, 2017 3:02 SA

bạn có thể cho mình contact face book đc k?? mình muốn nc trực tiếp quá

0

(y) tung hoa a ơi

0
thg 11 30, 2017 1:58 SA

thanks sir, but my screen show a black screen , i don't know: Where is panorama show? ( I don't see a line hold the panoramaimage that I want to display) Can u help me? 😦 Thanks you so much

0

Đúng như bạn nói , ngắt truyền và ngắt nhận là 2 ngắt riêng biệt nên sẽ có 2 hàm xử lý khác nhau. Khi nhận 1byte thì ngắt nhận sẽ xảy ra và hàm xử lý trong ngắt nhận sẽ được tự động gọi

0
Avatar
đã bình luận cho bài viết
thg 11 29, 2017 10:42 SA

Cảm ơn bạn về bài viết ngắn ngọn dễ hiểu!

0
thg 11 29, 2017 9:35 SA

webpack build ra file js, được include vào đâu vậy ?

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 11 29, 2017 7:59 SA

Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });

  • Mặc định, laravel sử dụng basic token. Middleware auth:api sẽ kiểm tra có api_token không và api_token này có tồn tại trong CSDL không? (thường là bảng users - Tùy cấu hình). Nếu có thì cho phép truy cập, còn không sẽ là lỗi Unauthorized - 401.
  • Vì khai báo middleware "auth:api" nên framework mới check có auth token không, với những route mà không cần xác thực thì bỏ đi, có thể vào bình thường như một guest.
0
thg 11 29, 2017 6:02 SA

Mình đưa ra 1 ví dụ bạn tham khảo nhé. Mình tạo Policy quản lý việc sửa, xóa (update) Post. Chỉ có Admin hoặc creator của post đó mới có quyền update. Phương thức isAdmin()isUser() bạn tự viết để xác định xem đây là admin hay normal user. Tương tự bạn có thể viết thêm policy cho việc thêm mới hoặc view từng post.

<?php
namespace App\Policies;

use App\Models\User;
use App\Models\Post;
use App\Models\Contracts\UserInterface; // Tất cả User đều implement UserInterface
use Illuminate\Auth\Access\HandlesAuthorization;

class PostPolicy
{
    use HandlesAuthorization;

    // Mặc định Admin có tất cả các quyền
    public function before(UserInterface $user)
    {
        if ($user->isAdmin()) {
            return true;
        }
    }

    public function update(UserInterface $user, Post $post)
    {
        // Chỉ creator (normal user) mới cập nhật post (sửa, xóa)
        return $user->isUser() && $post->creator_id === $user->id;
    }
}

Thêm PostPolicy vào AuthServiceProvider

<?php
namespace App\Providers;

use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
    protected $policies = [
        .....
        'App\Models\Post' => 'App\Policies\PostPolicy',
    ];

    public function boot()
    {
        $this->registerPolicies();
    }
}

Trong PostController:

public function __construct()
{
    $this->middleware($this->authMiddleware());
    $this->middleware('can:update', ['only' => ['update', 'delete']]);
}
+2
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí