私は新しいLaravel 5.2インストールを作成しました。私はデフォルトのLaravel認証をインストールするために次のコマンドを実行しました。Laravel 5.2ログインできません
php artisan make:auth
登録フォームは機能しますが、ログインするとホームにリダイレクトされます。間違った資格情報を入力するとエラーは表示されません。
これは私のルートファイルです:
Route::get('/', '[email protected]');
Route::get('/tutors', '[email protected]');
Route::get('/tutors/myrequest', '[email protected]');
Route::get('/tutors/{id}', '[email protected]')->where(['id' => '[0-9]+']);
Route::get('/tutors/{GUID}', '[email protected]')->where(['id' => '[A-Za-z]+[0-9]+']);
/********************Authentication routes**********************************/
Route::group(['middleware' => ['web']], function() {
Route::auth();
});
これはAuthController
からのコードです:
class AuthController extends Controller
{
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
protected $redirectTo = '/';
public function __construct()
{
$this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'firstname' => 'required|max:255',
'lastname' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'firstname' => $data['firstname'],
'lastname' => $data['lastname'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
これはホームメソッドが含まれていBaseController
です。
<?php namespace App\Http\Controllers;
use App\Services\InterfaceService;
use App\Repositories\TutorRepository;
use App\Http\Requests;
use Illuminate\Http\Request;
class BaseController extends Controller {
protected $TutorRepository;
protected $InterfaceService;
public function __construct(InterfaceService $InterfaceService, TutorRepository $TutorRepository)
{
//$this->middleware('guest');
$this->InterfaceService = $InterfaceService;
$this->TutorRepository = $TutorRepository;
}
public function index()
{
$tutors = $this->TutorRepository->all();
$page_info = \Config::get('constants.App.Pages.home');
$this->InterfaceService->SetPageInfo($page_info);
return view('home', ['TopTutors'=>$tutors]);
}
} ?>
これはログインビューのコードです。
<form role="form" method="POST" action="{{ url('/login') }}" id="login_form">
{!! csrf_field() !!}
<div class="mj_login_form">
<div class="form-group">
<input type="text" placeholder="Email" id="email" name="email" class="form-control" value="{{ old('email') }}">
@if ($errors->has('email'))
<span class="help-block"><strong>{{ $errors->first('email') }}</strong></span>
@endif
</div>
<div class="form-group">
<input type="password" placeholder="Your Password" id="password" class="form-control" name="password">
@if ($errors->has('password'))
<span class="help-block"><strong>{{ $errors->first('password') }}</strong></span>
@endif
</div>
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12 mj_toppadder20">
<div class="form-group pull-left">
<div class="mj_checkbox">
<input type="checkbox" value="1" id="check2" name="remember">
<label for="check2"></label>
</div>
<span> remember me</span>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12 mj_toppadder20">
<div class="form-group pull-right">
<span><a href="{{ url('/password/reset') }}">forget password ?</a></span>
</div>
</div>
</div>
</div>
<div class="mj_pricing_footer">
<a href="#" onclick="$('#login_form').submit()">login Now</a>
</div>
</form>
してくださいまた、ログインビューファイルが含まれています。 – Bogdan
Authマルウェアを追加することになっていると思いますが、ルートを設定する方法がわかりません。私の試みは、ログインページに無限ループを引き起こしました。 \ App \ Http \ Middleware \ Authenticate :: classをKernel.php $ middlewareGroupsに追加してみましたが、それもうまくいきませんでした。 – LogicDev
v5.2.27以降、 'app/Http/routes.php'のすべてのルートは既に' web'ミドルウェアグループに含まれています。 'Route :: auth()'を囲むルートグループを削除してみてください。 – patricus