Как сделать функцию входа в Laravel 4?

введите описание изображения здесь

У меня есть 3 типа пользователей:

  1. Администратор
  2. дистрибьютор
  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’, ‘Имя пользователя / пароль неверно или учетная запись не была активирована!’)

Может кто-нибудь сказать мне, если я сделал что-то, что я не собираюсь делать?

0

Решение

В вашей ситуации вы должны проверить свои 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 ?
  • Вы проверили, если это 1?

If Not

на вашей функции установки пароля или в любом другом месте, где вы обычно активируете своего пользователя.

просто сделай это:

$user->active = '1';
$user->save();

Дайте мне знать, если это работает!

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]