2015-05-08 5 views
0

Я только что установил мою установку Laravel, и я читал документацию, и похоже, что она поставляется с встроенной системой аутентификации. Который я хотел бы использовать, а не создавать собственные (который я сделал в предыдущей версии)Laravel 5 Аутентификация: изменение маршрутов по умолчанию

Мой вопрос я хотел бы изменить маршрут по умолчанию и структуру на что-то вроде:

www.example.com/register и www.example.com/login

на данный момент он использует авторизацию папка www.example.com/auth/register и www.example.com/auth/login

Я просто думаю, что мой путь чище и удобен для пользователя. Я также хотел бы сменить забыли пароль до: www.example.com/forgot-password

Я пробовал различные примеры и даже новые маршруты и т. Д., Но я продолжаю получать исключение. Это просто подслушивает меня, поскольку я хотел бы сохранить то, что уже есть, но немного изменить его, как они говорят, не исправить то, что не сломано.

Надеюсь, кто-то может указать мне в правильном направлении.

+0

Вы можете использовать loginPath свойство в вашем AuthController, чтобы изменить его – Digitlimit

ответ

1

По умолчанию маршруты аутентификации по умолчанию использовать Route::controllers(['auth' => 'Auth\AuthController']), метод Route::controller() генерирует маршруты, основанные на функциях, доступных на контроллере.

Вы должны уметь удалить эту строку и создать для себя свои маршруты. Если вы посмотрите на черту Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers, вы увидите доступные функции. Просто сопоставьте свои маршруты с теми функциями, которые доступны на вашем контроллере auth.

Heres пару, чтобы получить ваши начал

Route::get('/register', ['uses' => 'Auth\[email protected]']); 
Route::post('/register', ['uses' => 'Auth\[email protected]']); 

Route::get('/login', ['uses' => 'Auth\[email protected]']); 
Route::post('/login', ['uses' => 'Auth\[email protected]']); 
+0

Так теперь у меня есть [ссылка] www.example.com/register [/ ссылка] и [ссылка ] www.example.com/login [/ link] Форма работает блестяще, однако, когда я нажимаю регистр, мне не удалось найти ссылку на [link] www.example.com/auth/register [/ link] и [ link] www.example.com/auth/login [/ link] Теперь я оставил структуру файла так же, как и с Laravel. Но я продолжаю получать ошибку http, а также забытый пароль тот же, и я его не изменил. –

+0

Вам нужно будет обновить URL-адреса в каждой из форм, найденных в ваших представлениях auth, чтобы они отправили правильный URL-адрес. – Wader

+0

«Они известны как контроллеры RESTful», что? Это действительно неправильное утверждение ... см. [Wiki] (http://en.wikipedia.org/wiki/Representational_state_transfer) почему. Вы имели в виду [это вместо этого] (http://laravel.com/api/5.0/Illuminate/Routing/Router.html#method_resources). – Kyslik

0

Вы можете установить $ свойство loginPath в AuthController

Вот некоторые другие свойства, которые могут также необходимы

  1. Где пользователь перенаправляется после выхода из системы
    $ redirectAfterLogout

  2. Почты регистра/login redirect path
    $ redirectPath

  3. Путь к маршруту входа.
    $ loginPath



class AuthController extends Controller { 

     protected $loginPath = 'login'; //example.com/login 

     use AuthenticatesAndRegistersUsers; 

     public function __construct(Guard $auth, Registrar $registrar) 
     { 
      $this->auth = $auth; 
      $this->registrar = $registrar; 
      $this->middleware('guest', ['except' => 'getLogout']); 
     } 

    } 
Смежные вопросы