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.
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() và 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.
<?phpnamespaceApp\Policies;useApp\Models\User;useApp\Models\Post;useApp\Models\Contracts\UserInterface;// Tất cả User đều implement UserInterfaceuseIlluminate\Auth\Access\HandlesAuthorization;classPostPolicy{useHandlesAuthorization;// Mặc định Admin có tất cả các quyềnpublicfunctionbefore(UserInterface$user){if($user->isAdmin()){returntrue;}}publicfunctionupdate(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;}}
Cho mình hỏi mình phân quyền nhóm group, ví dụ nhóm admin thì có tất cả quyền, nhóm mod thì chỉ có xem không có thêm hoặc sửa ấy . Cảm ơn bạn đã hỗ trợ
uh, thế nên em đang nghĩ đến dropout anh ạ. Với lại cái tập dữ liệu của mình chán lắm. Người thì có đến mấy chục image, người thì có mỗi 1 cái, nên accuracy em nghĩ chỉ khoảng 80-85 là cùng
Theo mình sử dụng retrofit kết hợp với rxjava sẽ cõ những ưu điểm sau:
Giúp bạn quản lý các trường hợp lỗi về dữ liệu và trên đường truyền (mã lỗi 401, 405, 503 ...) tốt hơn.
RxJava giúp bạn quản lý cách gọi cũng như trình tự gọi api, vì Rx có 1 methods giúp bạn quản lý được những tiến trình nào đang chạy (mỗi 1 tiến trình chạy tương đương với 1 hoặc nhiều api được gọi trên nó). Như ví trên là CompositeDisposable
Giúp bạn tùy biến với dữ liệu từ api trả về để có kết quả dữ liệu mà bạn mong muốn
haha, kết hợp làm bài tập rồi đi chia sẻ luôn à e (y). À, mà chỗ train lần 1, sao ở trên là "print('Epoch:',epoch, ', Accuracy:',acc)" mà ở dưới lại ra "Step:...." được thế e ).
Anh cũng k rõ tìm mặt người này kết quả bn là tốt, chắc phải tham khảo thêm mấy bài khác, a nghĩ độ chính xác phải trên 85% thì mới coi là ổn được, còn <80% a nghĩ vẫn hơi thấp. Ở echo thứ 4, accuracy đã = 1 rồi, e thử chỉnh thêm xem sao, có thể bị overfitting, nên training thì tốt mà testing k tốt lắm
THẢO LUẬN
Cảm ơn bạn về bài viết ngắn ngọn dễ hiểu!
webpack build ra file js, được include vào đâu vậy ?
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
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ặccreator
của post đó mới có quyền update. Phương thứcisAdmin()
và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.Thêm PostPolicy vào
AuthServiceProvider
Trong
PostController
:@phamvanduc https://www.emojione.com/emoji/v3
bài viết hay..
Cho mình hỏi mình phân quyền nhóm group, ví dụ nhóm admin thì có tất cả quyền, nhóm mod thì chỉ có xem không có thêm hoặc sửa ấy . Cảm ơn bạn đã hỗ trợ
@vinhnguyen link list emo đâu
Angular nhé AngularJS đâu ra :v
Cho mình hỏi phần many to many , lấy ra danh sách user by role_id thì query sao , thanks
có repo đó ko anh, share miếng lun anh
bài viết hay. thanks bạn nhé.
bài viết hay nhưng chưa có phần demo thực tế. Hy vọng bạn có bài viết chi tiết hơn về phần này. thanks bạn
YOLO =))
uh, thế nên em đang nghĩ đến dropout anh ạ. Với lại cái tập dữ liệu của mình chán lắm. Người thì có đến mấy chục image, người thì có mỗi 1 cái, nên accuracy em nghĩ chỉ khoảng 80-85 là cùng
Theo mình sử dụng retrofit kết hợp với rxjava sẽ cõ những ưu điểm sau:
haha, kết hợp làm bài tập rồi đi chia sẻ luôn à e (y). À, mà chỗ train lần 1, sao ở trên là "print('Epoch:',epoch, ', Accuracy:',acc)" mà ở dưới lại ra "Step:...." được thế e ).
Anh cũng k rõ tìm mặt người này kết quả bn là tốt, chắc phải tham khảo thêm mấy bài khác, a nghĩ độ chính xác phải trên 85% thì mới coi là ổn được, còn <80% a nghĩ vẫn hơi thấp. Ở echo thứ 4, accuracy đã = 1 rồi, e thử chỉnh thêm xem sao, có thể bị overfitting, nên training thì tốt mà testing k tốt lắm
chào bạn. Mình muốn custom lại cái header column thì thế nào vậy bạn.