Пользователь не может получить доступ к странице редактирования - PullRequest
0 голосов
/ 17 февраля 2020

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

home.blade. php

<div class="container">
          <h1 class="my-4">Your Profile</h1>
          <div class="row">
            <div class="col-md-8">
              <img class="profile-image-page mr-md-3" src="{{ (isset(Auth::user()->github_id)) ? (Auth::user()->avatar) : (asset('images/avatars/' . Auth::user()->avatar)) }}" alt="{{ Auth::user()->name}}">
            </div>
            <div class="col-md-4">
              <h3 class="my-3">Account</h3>
              <ul>
                <li><b>ID: </b>{{ Auth::user()->id }}</li><hr>
                <li><b>Name: </b>{{ Auth::user()->name }}</li><hr>
                <li><b>Last Name: </b>{{ Auth::user()->lastname }}</li><hr>
                <li><b>Email: </b>{{ Auth::user()->email }}</li><hr>
                <li><b>Phone: </b>{{ Auth::user()->phone }}</li><hr>
                <li><b>Job Title: </b>{{ Auth::user()->jobtitle }}</li><hr>
                <li><b>Department: </b>{{ Auth::user()->department}}</li><hr> 
                <a href="/role-edit/{{ Auth::user()->id }}" class="btn btn-success">EDIT</a>
              </ul>
            </div>
          </div>

web. php

<?php
use App\User;
use App\Department;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});
Route::get('/page', function () {
    return view('admin.page');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');
Route::group(['middleware' => ['auth','admin']], function  () {
    Route::get('/role-register','Admin\DashboardController@registered');/
    Route::get('/role-edit/{id}', 'Admin\DashboardController@registeredit');//edit user
    Route::put('/role-register-update/{id}', 'Admin\DashboardController@registerupdate');
    Route::delete('/role-delete/{id}', 'Admin\DashboardController@registerdelete');//delete user
    Route::post('/save-user', 'Admin\DashboardController@store');

    Route::get('/department', 'Admin\DepartmentController@index');
    Route::post('/save-department', 'Admin\DepartmentController@store');
    Route::get('/department-edit/{id}', 'Admin\DepartmentController@edit');//edit department
    Route::put('/department-update/{id}', 'Admin\DepartmentController@update');
    Route::delete('/department-delete/{id}', 'Admin\DepartmentController@delete');//delete department
    Route::get('/user-edit/{id}', 'HomeController@registeredit');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/dashboard', 'Admin\DashboardController@dbcheck');//DATABASE

register-edit.blade. php

@extends ('layouts.master')

@section('title')
Edit Employee | Admin
@endsection

@section('content')


<div class="container">
  <div class="row">
    <div class="col-md-12">
      <div class="card">
        <div class="card-body">
          <div class="card-header">
            <h3>Edit Profile for Registered Employee.</h3>
          </div>
          <div class="card-body">
            <div class="col-md-6">
              <form action="/role-register-update/{{ $users->id }}" method="POST">
                {{ csrf_field() }}
                {{ method_field('PUT') }}

                <div class="form-group">
                  <label>Name</label>
                  <input type="text" name="name" value="{{ $users->name }}" class="form-control">               
                </div> 
                <div class="form-group">
                  <label>Last Name</label>
                  <input type="text" name="lastname" value="{{ $users->lastname }}" class="form-control">               
                </div> 
                <div class="form-group">
                  <label>Phone</label>
                  <input type="text" name="phone" value="{{ $users->phone }}" class="form-control">               
                </div>          
                <div class="form-group">
                  <label>Email address</label>
                  <input class="form-control" type="email"  value="{{ $users->email }}"name="email" id="email">               </div>
                  <div class="form-group">
                    <label>Job Title</label>
                    <input type="text" name="jobtitle" value="{{ $users->jobtitle }}" class="form-control">               
                  </div> 
                  <div class="form-group">
                    <label>Department</label>
                    <input type="text" name="department" value="{{ $users->department }}" class="form-control">               
                  </div>
                  <button type="submit" class="btn btn-success"> Update </button>
                  <a href="/role-register" class="btn btn-danger"> Cancel </a>
                </form>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  @endsection

  @section('scripts')

  @endsection

1 Ответ

1 голос
/ 17 февраля 2020

Маршрут использует admin промежуточное ПО, что, вероятно, означает, что только администраторы смогут получить к нему доступ

Route::group(['middleware' => ['auth','admin']], function () {
...
    Route::get('/user-edit/{id}', 'HomeController@registeredit');
});

Просто выйдите наружу:

Route::group(['middleware' => ['auth','admin']], function () {
...   
});
Route::get('/user-edit/{id}', 'HomeController@registeredit');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...