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']]);
                 }
   84   85   86   87   88   89   90   91   92   93   94