ログイン
このコミットが含まれているのは:
コミット
d8ba962fa5
|
@ -367,13 +367,16 @@ class AuthController extends Controller {
|
||||||
'inv_per_id' => 4,
|
'inv_per_id' => 4,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return array('1');
|
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||||
|
return view('');
|
||||||
|
|
||||||
|
//return array('1');
|
||||||
}
|
}
|
||||||
|
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function login(Request $r) {
|
public function login (Request $r) {
|
||||||
if (!empty($r)) {
|
if (!empty($r)) {
|
||||||
$checkName = DB::table('users')
|
$checkName = DB::table('users')
|
||||||
->select('*')
|
->select('*')
|
||||||
|
@ -386,28 +389,30 @@ class AuthController extends Controller {
|
||||||
'salt'
|
'salt'
|
||||||
);
|
);
|
||||||
|
|
||||||
// $checkName = json_decode(json_encode($checkName), true);
|
if ($checkName) {
|
||||||
$checkPass = hash('sha256', $r->password . $checkName->salt);
|
// $checkName = json_decode(json_encode($checkName), true);
|
||||||
|
$checkPass = hash('sha256', $r->password . $checkName->salt);
|
||||||
|
|
||||||
for ($round = 0; $round < 65536; $round++) {
|
for ($round = 0; $round < 65536; $round++) {
|
||||||
$checkPass = hash('sha256', $checkPass . $checkName->salt);
|
$checkPass = hash('sha256', $checkPass . $checkName->salt);
|
||||||
}
|
|
||||||
|
|
||||||
if (hash_equals($checkPass, $checkName->password)) {
|
|
||||||
if (!$checkName->kero_token) {
|
|
||||||
$checkName->kero_token = $this->makeToken();
|
|
||||||
|
|
||||||
DB::table('users')
|
|
||||||
->where('id', $checkName->id)
|
|
||||||
->update([
|
|
||||||
'kero_token' => $checkName->kero_token
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return array(
|
if (hash_equals($checkPass, $checkName->password)) {
|
||||||
'uid' => $checkName->id,
|
if (!$checkName->kero_token) {
|
||||||
'kero_token' => $checkName->kero_token
|
$checkName->kero_token = $this->makeToken();
|
||||||
);
|
|
||||||
|
DB::table('users')
|
||||||
|
->where('id', $checkName->id)
|
||||||
|
->update(['kero_token' => $checkName->kero_token]);
|
||||||
|
}
|
||||||
|
|
||||||
|
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'uid' => $checkName->id,
|
||||||
|
'kero_token' => $checkName->kero_token
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return array('err' => 'パスワードが違う');
|
return array('err' => 'パスワードが違う');
|
||||||
}
|
}
|
||||||
|
@ -576,7 +581,7 @@ class AuthController extends Controller {
|
||||||
public function logout () {
|
public function logout () {
|
||||||
if (isset($_COOKIE['kero_token'])) {
|
if (isset($_COOKIE['kero_token'])) {
|
||||||
unset($_COOKIE['kero_token']);
|
unset($_COOKIE['kero_token']);
|
||||||
setcookie('kero_token', '', time() - 3600, '/');
|
setcookie('kero_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect('');
|
return redirect('');
|
||||||
|
|
|
@ -7,6 +7,8 @@ use App\Http\Controllers\AuthController;
|
||||||
use App\Http\Controllers\SiteController;
|
use App\Http\Controllers\SiteController;
|
||||||
use App\Http\Controllers\UserController;
|
use App\Http\Controllers\UserController;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
class HomeController extends Controller {
|
class HomeController extends Controller {
|
||||||
private $objAuth;
|
private $objAuth;
|
||||||
private $objSite;
|
private $objSite;
|
||||||
|
@ -50,14 +52,23 @@ class HomeController extends Controller {
|
||||||
return view('pages.site.page', compact(['res', 'menu', 'user']));
|
return view('pages.site.page', compact(['res', 'menu', 'user']));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function login () {
|
public function login (Request $r) {
|
||||||
if (isset($_COOKIE['kero_token'])) return redirect('');
|
if (isset($_COOKIE['kero_token'])) return redirect('');
|
||||||
|
|
||||||
$menu = $this->menu;
|
$menu = $this->menu;
|
||||||
$cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
|
$cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
|
||||||
$id = $this->objAuth->checkLegit($cook);
|
$id = $this->objAuth->checkLegit($cook);
|
||||||
$user = $this->objUser->getUser2($id, $cook);
|
$user = $this->objUser->getUser2($id, $cook);
|
||||||
$res = array();
|
$res = array();
|
||||||
return view('pages.site.login', compact(['res', 'menu', 'user']));
|
$err = '';
|
||||||
|
|
||||||
|
if (isset($r->username) && isset($r->password)) {
|
||||||
|
$res = $this->objAuth->login($r);
|
||||||
|
if (isset($res['kero_token'])) return redirect('');
|
||||||
|
$err = $res['err'];
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('pages.site.login', compact(['res', 'menu', 'user', 'err']));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function register () {
|
public function register () {
|
||||||
|
|
|
@ -280,7 +280,7 @@
|
||||||
border-bottom-color: #27ae60;
|
border-bottom-color: #27ae60;
|
||||||
border-right-color: #27ae60;
|
border-right-color: #27ae60;
|
||||||
}
|
}
|
||||||
.btn-danger, .btn-danger.disabled, .btn-danger:disabled {
|
.btn-danger, .btn-danger.disabled, .btn-danger:disabled, .alert-danger {
|
||||||
color: #fcfcfc;
|
color: #fcfcfc;
|
||||||
background-color: #da4453;
|
background-color: #da4453;
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
|
|
|
@ -4,19 +4,27 @@
|
||||||
|
|
||||||
<div class="within">
|
<div class="within">
|
||||||
<div class="bar">サインイン</div>
|
<div class="bar">サインイン</div>
|
||||||
<div class="back" style="white-space: pre-wrap;">
|
<div class="back">
|
||||||
<div class="row body">
|
@if ($err)
|
||||||
<div class="col-sm-4"><b>ユーザー名</b></div>
|
<div class="alert alert-danger" role="alert">
|
||||||
<div class="col"><input id="username-login" type="text" class="form-control" /></div>
|
{{ $err }}
|
||||||
</div>
|
|
||||||
<div class="row body">
|
|
||||||
<div class="col-sm-4"><b>パスワード</b></div>
|
|
||||||
<div class="col"><input id="password-login" type="password" class="form-control" /></div>
|
|
||||||
</div>
|
|
||||||
<div class="row body">
|
|
||||||
<div class="col-sm-4"></div>
|
|
||||||
<div class="col"><button type="button" class="btn btn-success btn-block">サインイン</button></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
@endif
|
||||||
|
<form method="POST" action="/login">
|
||||||
|
@csrf
|
||||||
|
<div class="row body">
|
||||||
|
<div class="col-sm-4"><b>ユーザー名</b></div>
|
||||||
|
<div class="col"><input id="username-login" name="username" type="text" class="form-control" /></div>
|
||||||
|
</div>
|
||||||
|
<div class="row body">
|
||||||
|
<div class="col-sm-4"><b>パスワード</b></div>
|
||||||
|
<div class="col"><input id="password-login" name="password" type="password" class="form-control" /></div>
|
||||||
|
</div>
|
||||||
|
<div class="row body">
|
||||||
|
<div class="col-sm-4"></div>
|
||||||
|
<div class="col"><input name="submit" type="submit" class="btn btn-success btn-block" value="サインイン" /></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -3,5 +3,6 @@
|
||||||
Route::get('/', 'HomeController@index');
|
Route::get('/', 'HomeController@index');
|
||||||
Route::get('/blog/{slug}', 'HomeController@post');
|
Route::get('/blog/{slug}', 'HomeController@post');
|
||||||
Route::get('/login', 'HomeController@login');
|
Route::get('/login', 'HomeController@login');
|
||||||
|
Route::post('/login', 'HomeController@login');
|
||||||
Route::get('/register', 'HomeController@register');
|
Route::get('/register', 'HomeController@register');
|
||||||
Route::get('/{slug}', 'HomeController@page');
|
Route::get('/{slug}', 'HomeController@page');
|
新しいイシューから参照