Page 89 - Laravel5_v1
P. 89
ิ
้
้
การกําหนดสิทธ ผูใช
้
ื
ํ
้
การกําหนดสิทธ ผูใช คือ เราสามารถอนุญาต หรอไม่อนุญาตใหเขาถึงในส่วนต่างๆของระบบเรา สามารถเขียนกาหนดไดที ส่วนของ
ิ
้
้
้
Controller
้
้
้
้
ตัวอย่าง การไม่อนุญาตใหผูใชใชงาน BooksController และการอนุญาตบางเมธอด
้
้
1. ลําดับแรกเราจะตองยายโคด route ที เราตองการจากัดสิทธ มาวางไวดานล่างในส่วนโคด Route::auth(); เปดไฟล์
้
้
ิ
้
้
ํ
้
ิ
app\Http\routes.php แกไขโคดดังนี
้
้
<?php
Route::get('about','SiteController@index');
้
ั
//สําหรบแสดงขอมูลทั งหมด
Route::get('typebooks','TypeBooksController@index');
ั
้
ั
ั
//สําหรบลบขอมูล ตาม id ที รบมาจาก url (รบแบบ get)
Route::get('typebooks/destroy/{id}','TypeBooksController@destroy');
Route::get('/', function () {
return view('welcome');
});
Route::auth();
้
้
้
Route::resource('books','BooksController'); //ยายมาวางไวดานล่างของ auth()
Route::get('/home', 'HomeController@index');
ํ
ิ
ิ
้
2. ลําดับต่อมาเมื อยายโคดแลว ใหเปด BooksController.php เพื อเขียน constructor สําหรบกาหนดสิทธ ดังนี
ั
้
้
้
public function __construct() {
$this->middleware('auth');
}
้
้
้
้
้
เพียงเท่านี ผูใชก็จะไม่สามารถเขาถึง BooksController ได จะตองล็อกอินก่อนเท่านั น
้
้
้
้
็
้
้
้
้
3. หากเราตองการอนุญาตเปนบางเมธอดใหผูใชเขาถึงได ใหเขียนโดยการใช except (array) เพิ มเติม ดังนี
public function __construct() {
$this->middleware('auth', ['except' => ['index']]);
}