mysql使用别的用户登录,mysql – 使用除用户之外的其他表进行登录验证

对于我的项目,我使用学生表进行身份验证和存储信息.对于学生注册,与登录认证不同,所有数据都插入到学生故事中. student表的属性是[id(主键和自动递增),用户名,密码,stdname,stdage,created_at,updated_at].

注册

public function post_register()

{

$input = Input::all();

$rules = array(

'email' => 'required|email|Between:3, 64|unique:student,username',

'studentPass' => 'required',

'studentName' => 'required',

'studentAge' => 'integer|Min:18|Max:45');

$messages = array(

'email.required' => 'You forgot to enter your email id!',

'email.between' => 'Email must be between 3 to 64 character!',

'studentPass.required' => 'You forgot to enter your password!',

'studentName.required' => 'You forgot to enter student name!',

'studentAge.integer' => 'Student age must be a integer value!',

'studentAge.min' => 'Student age must be a greater than 18 years!',

'studentAge.max' => 'Student age must be a less than value 45 years!'

); /* Add your custom messages here */

$validator = Validator::make($input, $rules, $messages);

if($validator->fails())

{

return Redirect::to('register')->withErrors($validator);

}

else

{

$student = new student();

$student->username = $input['email'];

$student->password = $input['studentPass'];

$student->stdname = $input['studentName'];

$student->stdage = $input['studentAge'];

$student->save();

return Redirect::to('login');

}

}

登录

public function post_index()

{

$input = Input::all();

$rules = array(

'email' => 'required|email|Between:3, 64',

'studentPass' => 'required');

$messages = array(

'email.required' => 'You forgot to enter your email id!',

'email.between' => 'Email must be between 3 to 64 character!',

'studentPass.required' => 'You forgot to enter your password!'

); /* Add your custom messages here */

$validator = Validator::make($input, $rules, $messages);

if($validator->fails())

{

return Redirect::to('login')->withErrors($validator);

}

else

{

$credential = array('username' => $input['email'], 'password' => $input['studentPass']);

$auth = Auth::attempt($credential);

if(Auth::attempt($credential))

return Redirect::to('index');

else

return Redirect::to('/');

}

}

解决方法:

在您的注册页面中,使用HASH插入您的密码.将代码写为

public function post_register()

{

$input = Input::all();

$rules = array(

'email' => 'required|email|Between:3, 64|unique:student,username',

'studentPass' => 'required',

'studentName' => 'required',

'studentAge' => 'integer|Min:18|Max:45');

$messages = array(

'email.required' => 'You forgot to enter your email id!',

'email.between' => 'Email must be between 3 to 64 character!',

'studentPass.required' => 'You forgot to enter your password!',

'studentName.required' => 'You forgot to enter student name!',

'studentAge.integer' => 'Student age must be a integer value!',

'studentAge.min' => 'Student age must be a greater than 18 years!',

'studentAge.max' => 'Student age must be a less than value 45 years!'

);//Add your custom messages here

$validator = Validator::make($input, $rules, $messages);

if($validator->fails())

{

return Redirect::to('register')->withErrors($validator);

}

else

{

$password = Hash::make($input['studentPass']);

$student = new student();

$student->username = $input['email'];

$student->password = $password;

$student->stdname = $input['studentName'];

$student->stdage = $input['studentAge'];

$student->save();

return Redirect::to('login');

}

}

在Laravel密码必须在HASH中.我想在更换函数post_register()之后,你的登录验证将正常工作.

标签:mysql,laravel,laravel-4,php-5-3

来源: https://codeday.me/bug/20190520/1142215.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值