Я создал интерфейс администратора (очень простой интерфейс администратора). Но если я хочу войти в систему как администратор, я не могу войти в систему как администратор, хотя мое имя пользователя и пароль абсолютно правильные.
Мои контроллеры Admin находятся,
app/
controller/
Admin/
AdminController.php
И мои взгляды проживают
app/
views/
admin/
Admin-login.blade.php
и я создал маршруты что-то вроде этого
Route::get('admin',array(
'as' => 'admin',
'uses' =>'Admin\AdminController@AdminLogin'
));
Route::group(array('before' => 'auth'),function(){
//These Urls are Intended page after Admin Sign In
Route::get('marriage-admin/',array(
'as' => 'marriage-admin',
'uses' => 'MarriageController@MarriageAdmin'
));
Route::post('edit-marital-data',array('as' => 'edit-marital-data','uses' => 'MarriageController@EditMarritalStatus'));
Route::post('searched-marital-data',array('as' => 'searched-marital-data','uses' => 'MarriageController@SearchMarriage'));
}
Route::group(array('before' => 'guest'),function(){
/* CSRF Protect*/
Route::group(array('before' => 'csrf'),function(){
Route::post('admin-marriage',array(
'as' => 'admin-marriage',
'uses' => 'Admin\AdminController@AdminLoginPost'
));
}
}
и это мой Admin Controller
<?php
namespace Admin;
class AdminController extends \BaseController{
public function AdminLogin(){
return \View::make('admin.login');
}
public function AdminLoginPost(){
$auth=\Auth::attempt(array(
'username' => \Input::get('username'),
'password' => \Input::get('password')
));
if($auth){
return \Redirect::intended('marriage-admin');
}else{
return \Redirect::route('admin')->with('global','The username or password you provided is wrong!');
}
return Rediret::route('admin')->with('global','Please Review Your Admin Database.');
}
}
?>
и я также создал модель Admin.php, так как у меня есть другая таблица, а именно admins
в моей базе данных.
<?php
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
class Admin extends Eloquent implements UserInterface, RemindableInterface {
public function getRememberToken()
{
return $this->remember_token;
}
public function setRememberToken($value)
{
$this->remember_token = $value;
}
public function getRememberTokenName()
{
return 'remember_token';
}
/*public static function blood_search($blood_group){
return static::where('blood_group','LIKE','%'.$blood_group.'%');
} */
protected $table = 'admins';
protected $fillable=array
( 'username',
'password'
);
use UserTrait, RemindableTrait;
}
упоминание, страница после входа в систему или вы можете сказать, что тире, которая скучно от Admin
, берется с другого контроллера, а именно MarriageController
Теперь, если я попытаюсь войти в систему как администратор. я получаю сообщение
The username or password you provided is wrong!
который я установил в своем контроллере Admin, если auth
не работает.
Так почему я получаю это сообщение, хотя username
и password
я предоставляю, абсолютно правы? теперь мой вопрос в том, что я пропустил какую-то конфигурацию для Admin
?
Laravel не использует шифрование md5. При создании пользователя вам нужно Хешировать пароль, используя laravel Hash :: make()
User::create(array(
'username' => Input::get('username'),
'password' => Hash::make(Input::get('password'))
));
Если вы хотите вручную вставить его в базу данных, тогда
return Hash::make('yourpass');
затем вставьте полученный результат.