当前位置:Gxlcms > PHP教程 > laravel5自带的登录验证应该如何POST

laravel5自带的登录验证应该如何POST

时间:2021-07-01 10:21:17 帮助过:5人阅读

laravel5 本身就带有登录验证,比如打开 localhost/home 会自动跳转到 localhost/auth/login 如果我想在客户端中POST 一个请求到 localhost/auth/login 应该如何发呢,POST的body里要不要是不是要写上很多东西,包括email,password,_token呢 另外,登录成功或者失败了能否返回一个自定义字符串提示成功或失败了,现在自带的都是redirect的。 新手求指点

回复内容:

laravel5 本身就带有登录验证,比如打开 localhost/home 会自动跳转到 localhost/auth/login 如果我想在客户端中POST 一个请求到 localhost/auth/login 应该如何发呢,POST的body里要不要是不是要写上很多东西,包括email,password,_token呢 另外,登录成功或者失败了能否返回一个自定义字符串提示成功或失败了,现在自带的都是redirect的。 新手求指点

可以在HomeController重新定义postLogin方法
laravel5 默认的postLogin只是最基本的例子,如果能用上,那是最好了,基本上只能用作参考,正式开发中肯定有很多例外

默认的postLogin方法在
AuthenticatesAndRegistersUsers这个trait中实现
包括登陆,注册,登出等

  1. Laravel 对于表单的实现是 _token(csrf_token) + _method (post|put|patch|head|get|) + body

  2. Laravel 所有 view 都可以直接访问一个$errors(实例) 可以通过 $error->has() 判断有没有错误 $errors->all() 提取所有错误内容 错误的实现机制是 flash session 所以无论是 return redirect 还是 return view 都可以访问到 $erorrs

  3. 建议研读 https://laracasts.com/series/laravel-5-fundamentals 你就通透了

@if (count($errors) > 0)
    
        
    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif

你可以把这个复制到模板里面观察一下

人气教程排行