Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 03.10.2018 12:49:20

Не работает марширут

Привет, подскажите почему не работает марширут

Route::group(['prefix'=>'admin','namespace'=>'Admin'], function(){

    Route::get('/', 'AdminController@index');

});

Когда захожу по адрессе site.loc/admin вот такое

Access forbidden!

You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.

If you think this is a server error, please contact the webmaster.
Error 403
travel.loc
Apache

Не в сети

#2 03.10.2018 13:05:02

Re: Не работает марширут

Access forbidden!You don't have permission to access the requested directory. There is either no index document or the directory is read-protected

Вход запрещен. Прописаны роли и разрешения для входа в админку. Присвойте себе нужную роль)))

Не в сети

#3 03.10.2018 13:13:14

Re: Не работает марширут

Вход запрещен. Прописаны роли и разрешения для входа в админку. Присвойте себе нужную роль)))

Так я посредников не указывал, там поеде и без роли должно пройти

Не в сети

#4 03.10.2018 13:25:32

Re: Не работает марширут

Ну значит где то по умолчанию прописан auth .

Не в сети

#5 03.10.2018 13:26:27

Re: Не работает марширут

Ну значит где то по умолчанию прописан auth .

а как роль указать

Не в сети

#6 03.10.2018 13:28:53

Re: Не работает марширут

Route::group(['prefix'=>'admin','namespace'=>'Admin', 'middleware'	=>	'auth'], function(){

    Route::get('/', 'AdminController@index');

});

Не в сети

#7 03.10.2018 13:33:32

Re: Не работает марширут

Роли и все остальные данные юзера хранятся в бд. Можно, конечно, поизвращаться и сделать методы присвоения ролей, а можно пойти в бд и вручную вбить нужный данные в нужной таблице.

Изменено abutan (03.10.2018 13:33:48)

Не в сети

#8 03.10.2018 13:39:16

Re: Не работает марширут

Роли и все остальные данные юзера хранятся в бд. Можно, конечно, поизвращаться и сделать методы присвоения ролей, а можно пойти в бд и вручную вбить нужный данные в нужной таблице.

а в какой таблице и в каком поле присваиваться роль

Не в сети

#9 03.10.2018 14:09:24

Re: Не работает марширут

А я же как могу знать что  у вас и как?
Но судя по всему надо просто зарегистрироваться и войти )))

Не в сети

#10 04.10.2018 10:55:25

Re: Не работает марширут

А я же как могу знать что  у вас и как?Но судя по всему надо просто зарегистрироваться и войти )))

Сделал уже зарегился тоже самое выдает ошибку

Не в сети

#11 04.10.2018 11:30:14

Re: Не работает марширут

Ну попробуйте посмотреть в таблице users есть роли или нет . Хотя если честно не пойму, Вы делаете сайт или что?

Не в сети

#12 04.10.2018 11:32:52

Re: Не работает марширут

Ну попробуйте посмотреть в таблице users есть роли или нет . Хотя если честно не пойму, Вы делаете сайт или что?

http://prntscr.com/l20l6z

Не в сети

#13 04.10.2018 11:47:59

Re: Не работает марширут

А что написано в AdminController ? Есть там что то? Вторая часть ошибки

There is either no index document or the directory is read-protected

намекает на то что метода индекс там может и не быть. А еще должна быть вьюха index.blade.php по пути указанному в роуте.

Не в сети

#14 05.10.2018 13:10:17

Re: Не работает марширут

намекает на то что метода индекс там может и не быть. А еще должна быть вьюха index.blade.php по пути указанному в роуте.

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class AdminController extends Controller
{
    public function index()
    {
        return view('admin.index');
    }
}

Не в сети

#15 05.10.2018 13:11:41

Re: Не работает марширут

Вот марширут

Route::group(['prefix'=>'admin', 'middleware'	=>	'auth'], function(){

    Route::get('/', 'Admin/AdminController@index');

});

Не в сети

#16 05.10.2018 14:31:02

Re: Не работает марширут

В шаблоне(к примеру в app.blade.php по пути resources/views/layouts/app.blade.php) ссылка типа

<a href="{{ route('admin.index') }}">Админ раздел</a>

в контролере

class AdminController extends Controller
{
    public function index()
    {
        return view('admin.index');
    }
}

в resources/views/admin/index.blade.php

@extends('layouts.app')

@section('content')
    'какой то код ...'
@endsection

в routes/web.php

Route::group(
    [
        'prefix' => 'admin',
        'namespace' => 'Admin',
        'middleware' => ['auth'],
        'as' => 'admin.',
    ], 
    function (){
        Route::get('/', 'AdminController@index')->name('index');
    }

Если все это, примерно так, присутствует, а ошибка все та же, то не представляю что это sad

Ой забыл, 'namespace' => 'Admin', это потому что AdminController у меня лежит в папке app/Http/Controllers/Admin , просто для админ раздела нужно много разных контролеров, и я их вынес в отдельную папку, соответственно , и всех их роуты в отдельной группе.

Изменено abutan (05.10.2018 15:03:48)

Не в сети

Подвал раздела