나는 간단한 인증 방법을 만들려고 노력하고 있지만 제대로 작동하지는 않습니다. 시도가 작동하지 않는 것 같습니다.Laravel 4와의 간단한 인증
내 auth.php
'driver' => 'eloquent',
'model' => 'User',
'table' => 'users',
'reminder' => array(
'email' => 'emails.auth.reminder', 'table' => 'password_reminders',
),
UserController.php는
나는 우리가 Hash::make();
과 암호를 저장하는 데 필요한 읽기 alerady. 그래서 이미 완료되었습니다.
public function signin()
{
$username = Input::get('username');
$password = Input::get('password');
$users = User::where('username', $username)->get();
try {
if (!sizeof($users))
throw new Exception('Oops! Username or password don't match.');
$user = $users[0];
if (!$user)
throw new Exception('Oops! Username or password don't match');
if(Hash::check($password, $user->password))
throw new Exception(Oops! Username or password don't match);
Auth::attempt(array('name'=>$user->name, 'email'=>$user->email, 'password'=>$user->password));
if (Auth::check())
{
throw new Exception('Works fine');
}
$this->success = 'YES';
} catch (Exception $e) {
$this->message = $e->getMessage();
}
return Response::json(array('success' => $this->success, 'message' => $this->message));
}
login.blade.php
<body>
<div class="container">
<form class="form-signin" role="form" onsubmit="return false;">
{{ Form::token(); }}
<h2 class="form-signin-heading">Login</h2>
<input id="username" type="text" class="form-control" placeholder="Username" required autofocus>
<input id="password" type="password" class="form-control" placeholder="Senha" required>
<label class="checkbox">
<input type="checkbox" value="remember-me"> Manter conectado
</label>
<button id="btn-signin" class="btn btn-lg btn-primary btn-block" type="submit">Entrar</button>
</form>
</div>
</body>
<script src="//code.jquery.com/jquery.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jasny-bootstrap/3.0.1-p7/js/bootstrap.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
$("#btn-signin").click(function() {
$.ajax({
url: "/intranet/public/user/signin",
type: "POST",
data: {username: $("#username")[0].value, password: $("#password")[0].value},
context: document.body,
success: function(json, status, xhr) {
var message;
if (json.success=="YES") {
window.location = "{{ url('/home')}}";
} else {
alert(json.message);
}
},
error: function(evt) {
var response = jQuery.parseJSON(evt.responseText);
alert(response.error.type+': '+response.error.message)
}
});
});
});
로그인하려고하면 어떻게됩니까? –
모든 일이 정상적으로 처리되지만 일부 사용자가 Auth :: check()로 로그인했는지 확인하면 아무도 없습니다 –
문제점 중 하나가' 'password'=> $ user-> password'이고''password가 아닙니다 '=> $ password'. –