запретить пользователям несанкционированный доступ к веб-страницам - PullRequest
0 голосов
/ 27 октября 2018

Как я могу запретить пользователям доступ к моим веб-страницам через просмотр URL. Я имею в виду, мне нужно проверить, вошел ли пользователь в систему, прежде чем получить доступ к каким-либо веб-страницам. Приложение не должно разрешать доступ к странице пользователю только по URL.

Должен ли я проверять каждый контроллер для проверки подлинности или есть какой-либо другой способ?

Предположим, у меня есть контроллер DistributorController. Теперь методы внутри этого контроллера,

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Session;
use App\Distributor;

class DistributorController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    function fetchData()
    {
        $distributors = Distributor::all()->toArray();
        return compact('distributors');
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('pages.distributors', $this->fetchData());
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        try{
            // code block
        }
        catch (\Exception $e) {
            // code block
        }
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

Я думаю, что вы можете проверить сеанс пользователя, например

if (!$_SESSION['id']){              // if user session is not found
                     header("location:http://yoursite.index.php"); //redirect anywhere
       }
  else { 
           // Your code 'view page'  
       }

Надеюсь, мой ответ решит это :)

0 голосов
/ 27 октября 2018

В вашем файле web.php, в котором вы определяете маршруты, вы можете группировать маршруты и окружать их, используя промежуточное программное обеспечение Auth. Вы можете прочитать больше здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...