laravel5.5 服务(一) 用户认证简单自定义

最近在学习laravel框架,作为一个极客当然要学习最新版本,对于laravel框架,自带了很多服务,对于初学者来说,框架的目录结构都不是很了解,所以我来帮大家找找,基础设置的文件,和代码设置。


今天我来说说用户认证:

使用artisan make:auth 创建auth 验证

laravel5.5 服务(一) 用户认证简单自定义_第1张图片

下一步创建数据库,laravel自带数据迁移功能,我本地使用自建的数据表(本人还是同喜欢laravel create_at update_at 字段的设计)


我先进入默认的登录页面,我们能看到基础的登录页面,我们做的网站大多使用中文,而laravel 大多都是英文反馈,所以我们首先更改一下对登录界面validate验证。

laravel5.5 服务(一) 用户认证简单自定义_第2张图片

修改前端页面的中文我就不说了,对于能够学习laravel的同学来说都太简单了(laravelNews\resources\views 前端代码就在这了)

laravel5.5 服务(一) 用户认证简单自定义_第3张图片

怎么才能找到后台validate验证呢?

  这就要依靠laravel 路由功能了laravelNews\vendor\laravel\framework\src\Illuminate\Routing\Router.php

laravel5.5 服务(一) 用户认证简单自定义_第4张图片

进入到 LoginController控制器后你会发现只有哟点点代码 ,这里有一个重要的设置  $redirectTo 成功后进入的页面,下面注意看我的注释!!!

(laravelNews\vendor\laravel\framework\src\Illuminate\Foundation\Auth)AuthenticatesUsers.php 文件中修改

use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
     
    /**
     * Get the failed login response instance.
     * 数据库判断密码错误后返回
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\RedirectResponse
     */
    protected function sendFailedLoginResponse(Request $request)
    {
        throw ValidationException::withMessages([
            $this->username() => ['用户名或密码不正确'],
        ]);
    }

    /**
     * Get the login username to be used by the controller.
     * 修改验证字段
     * @return string
     */
    public function username()
    {
        return 'username';
    }

/** * Validate the user login request. * 登录验证规则定义 * @param \Illuminate\Http\Request $request * @return void */ protected function validateLogin(Request $request) { $this->validate($request, [ $this->username() => 'required|string', 'password' => 'required|string', ],[ 'required' => ':attribute为必填项', ]); }
 下面最后一步,怎么才能使用自己的数据表呢? 
  

打开app目录,下的user.php同学们都没注意过吧,注意看我下面的注释@!!!

 //设置表名
    protected $table = 'user';      
    //设置主键
    protected $primarykey = 'userid';
    //设置字段
    protected $fillable = [
        'id','username','password','answer','qid','score'
    ];
    public $timestamps = true;

    //获取当前时间
    public function freshTimestamp() {
        return time();
    }

    //select的时候避免转换时间为Carbon
//    public function fromDateTime($value) {
//        return $value;
//    }
//
//    //时间取出时默认为标准格式,改为时间戳格式
//    protected function asDateTime($val){
//        return $val;
//    }

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    //密码认证字段
    protected $hidden = [
        'password', 'remember_token',
    ];


以上是我对于简单自定义auth的设置过程,希望对有需要的小伙伴有所帮助。

I'm 齐小明







你可能感兴趣的:(laravrl,php)