laravel 简单的表单登录接口+验证

一、这是表单的登录页面
在这里插入图片描述如下
1.控制器的结果
在这里插入图片描述

2.model里面的过程
在这里插入图片描述
在这里插入图片描述
3.路由如下
在这里插入图片描述

然后就这样完事了!!

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Laravel提供了多种登录验证方式,包括基于表单认证、基于API认证、基于社交媒体认证等。 以下是基于表单认证的登录验证示例: 1. 创建认证控制器 可以使用Artisan命令快速生成: ``` php artisan make:auth ``` 这将创建一个控制器和视图文件,用于用户登录、注册、密码找回等操作。 2. 配置路由 在routes/web.php文件中添加以下路由: ``` Route::get('login', 'Auth\LoginController@showLoginForm')->name('login'); Route::post('login', 'Auth\LoginController@login'); Route::post('logout', 'Auth\LoginController@logout')->name('logout'); ``` 3. 配置认证驱动 在config/auth.php文件中配置认证驱动,例如使用Eloquent模型: ``` 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], ], ``` 4. 配置用户模型 在User模型中实现Authenticatable接口,例如: ``` use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { // ... } ``` 5. 配置登录视图 在resources/views/auth/login.blade.php视图文件中添加登录表单,例如: ``` <form method="POST" action="{{ route('login') }}"> @csrf <div class="form-group row"> <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label> <div class="col-md-6"> <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus> @error('email') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div> </div> <div class="form-group row"> <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label> <div class="col-md-6"> <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password"> @error('password') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div> </div> <div class="form-group row"> <div class="col-md-6 offset-md-4"> <div class="form-check"> <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}> <label class="form-check-label" for="remember"> {{ __('Remember Me') }} </label> </div> </div> </div> <div class="form-group row mb-0"> <div class="col-md-8 offset-md-4"> <button type="submit" class="btn btn-primary"> {{ __('Login') }} </button> @if (Route::has('password.request')) <a class="btn btn-link" href="{{ route('password.request') }}"> {{ __('Forgot Your Password?') }} </a> @endif </div> </div> </form> ``` 6. 实现登录逻辑 在Auth\LoginController控制器中实现登录逻辑,例如: ``` use Illuminate\Http\Request; class LoginController extends Controller { public function login(Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { $request->session()->regenerate(); return redirect()->intended('/'); } return back()->withErrors([ 'email' => 'The provided credentials do not match our records.', ]); } } ``` 在上述代码中,首先使用$request->only()方法获取请求参数,然后使用Auth::attempt()方法进行认证,如果认证成功则调用$request->session()->regenerate()方法重新生成会话ID,最后使用redirect()方法跳转到指定页面(例如/表示首页),如果认证失败则使用back()方法返回上一页,并通过withErrors()方法返回错误信息。 7. 添加中间件 如果需要在用户访问某些页面时进行登录验证,可以添加中间件: ``` Route::get('profile', function () { // 只有已登录用户才能访问该页面 })->middleware('auth'); ``` 在上述代码中,只有已登录用户才能访问/profile页面,否则将被重定向到登录页面。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酸宁宁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值