【发布时间】:2019-02-09 21:07:53
【问题描述】:
我正在使用 Laravel 5.6 并遇到一些问题。如果在数据库中找到 email 和 password 匹配然后重定向,我想对用户进行身份验证。如果用户存在,则重定向到"user1",否则重定向到"/":还附加了迁移文件
路线
Route::any('/user1','UserProfile@store');
Route::get('/login','StudentController@index');
控制器
public function store(Request $request)
{
$info = array(
"Email" => $request->get("email"),
"password" => $request->get("password")
);
$info = DB::table("students")->where($info)->first();
if(!$info){
$data = array(
"user_email" => $info->Email,
"user_password" => $info->password,
"user_id" => $info->Student_id
);
$request->session()->put($data);
$request->session()->get('user_email');
//echo $val=$request->session()->get('user_id');die;
// print_r($data);die;
return redirect('/user1');
} else {
return redirect('/');
}
}
迁移
public function up()
{
Schema::create('students', function (Blueprint $table) {
$table->string('Name');
$table->string('Student_id');
$table->string('Email');
$table->string('Department');
$table->string('Gender');
$table->string('password');
$table->timestamps();
});
}
【问题讨论】:
-
您的问题全是错字,请edit更正。
-
我现在会记下这一点,但是将纯文本密码存储在数据库中是一个非常糟糕的主意。当 Laravel 有一个身份验证系统时,尝试创建自己的身份验证系统似乎也倒退了。使用可用的东西来避免安全问题,或安装像 Sentinel (cartalyst.com/manual/sentinel/2.0) 这样的包进行身份验证。
标签: php laravel laravel-5.6