У меня есть 3 типа пользователей:
У меня проблема при входе в систему user type
, ( внутренний )
Я могу войти, когда мой тип пользователя — Admin.
Я могу войти, когда мой тип пользователя — Дистрибьютор.
НО я не могу войти, когда мой тип пользователя является внутренним. Проводной ????
Я просматриваю каждую строку своего кода в функциях входа в свой AccountController.php.
Я не заметил там никакой ошибки. Если вы заметили какие-либо ошибки, пожалуйста, дайте мне знать.
Это будет огромной помощью для меня.
Вот мои функции входа в систему
GET
public function getSignIn(){
return View::make('account.signin');
}
POST
public function postSignIn() {
$validator = Validator::make( Input::only('username','password'),
array(
'username' =>'required',
'password' =>'required'
)
);
if ($validator->fails()) {
return Redirect::route('account-sign-in-post')
->with('error','Username/Password Wrong or account has not been activated !')
->withErrors($validator);
}
// Remember Me
$remember = (Input::has('remember')) ? true : false ;
$auth = Auth::attempt(array(
'username' => strtolower(Input::get('username')),
'password' => Input::get('password'),
'active' => 1),
$remember);// Keep track on log-in information of the user.
if(Auth::check()){
$user = Auth::user();
$user->last_logged_in = Input::get('created_at');
$user->logged_in_count = $user->logged_in_count + 1 ;
$user->is_online = '1';
$user->save();
}if($auth) {
return Redirect::to('/')
->with('success','You have been successfully logged in.')
;
}
else {
return Redirect::route('account-sign-in')
->with('error','Username/Password Wrong or account has not been activated !')
->withInput(Input::except('password'))
->withErrors($validator);
}
}
VIEW
@extends ('layouts.form')
@section('content')
<style type="text/css">
.signin{
text-align: center;
}
#forgetpassword{
/*color:#5cb85c;*/
color:silver;
}
</style>
<form class="form-horizontal" role="form" action=" {{ URL::route('account-sign-in-post')}}" method="post" >@if ($errors->has('username')){{ $errors->first('username')}} @endif
<div class="form-group">
<label for=""> Email </label>
<input placeholder="Email" type="text" class="form-control" required name="username" {{ ( Input::old('username')) ? 'value="'.e(Input::old('username')).'"' : '' }}>
</div><br>@if ($errors->has('password')){{ $errors->first('password')}} @endif
<div class="form-group">
<label for=""> Password </label>
<input placeholder="Password" type="password" class="form-control" required name="password">
</div><br><br><button type="submit" class="btn btn-success btn-sm btn-block ">Sign In </button>{{ Form::token() }}</form><br><div class="col-lg-12 text-center">
<a id="forgetpassword" href="{{ URL::route('account-forgot-password') }}"> Forget Password </a> <br></div>@stop
Я уверен, что я ввел правильное имя пользователя и пароль, потому что я дважды проверяю свою базу данных.
Он продолжает перенаправлять меня обратно на страницу входа.
с (‘error’, ‘Имя пользователя / пароль неверно или учетная запись не была активирована!’)
Может кто-нибудь сказать мне, если я сделал что-то, что я не собираюсь делать?
В вашей ситуации вы должны проверить свои auth
переменная в вашем Sign_In
Функция.
Согласно вашему коду,
$auth = Auth::attempt(array(
'username' => strtolower(Input::get('username')),
'password' => Input::get('password'),
'active' => 1),
$remember);
Имейте в виду, что эти вещи должны быть
username
должен соответствовать базе данныхpassword
должен соответствовать базе данныхactive
должно быть 1Если что-то из этого не получится, значит, оно STOP
Вы от входа.
user active
? If Not
на вашей функции установки пароля или в любом другом месте, где вы обычно активируете своего пользователя.
просто сделай это:
$user->active = '1';
$user->save();
Дайте мне знать, если это работает!
Других решений пока нет …