php - 如何使用 Laravel 5.8 创建自定义登录表单?
问题描述
我想使用旧的基于 PHP 的应用程序的数据库创建一个新的基于 Laravel 5.8的应用程序。
问题是:我之前的项目使用五个表来存储用户相关信息,并且所有这些表都在登录期间使用(设置会话数据)。
这些表是 user_account、user_role、user_partner_portal、user_access_control 和 user_control_access_right。
这些表之间的关系如下图所示:
默认情况下,laravel 使用users表来处理身份验证,我不知道如何自定义 Laravel 登录系统,以便我可以在登录期间使用所有这五个表来验证用户,并将用户相关信息存储到会话中。
我主要在我的所有项目中使用 CodeIgniter,使用 CodeIgniter 进行身份验证非常容易。但是我是 Laravel 的新手,所以我无法弄清楚。
所以我的问题是:是否可以使用 laravel 来设计这样的认证系统?如果是,那怎么办?
- TIA
解决方案
所以 laravel 使用LoginController
类进行登录。在里面你会找到函数authenticate
。
Laravel 将预定义的逻辑放在那里,但如果你想让它真正自定义,比如更新所有表格等,你可以自由地去做。
您甚至可以创建自己的类并将登录路由更改为指向您自己的控制器。基本上你可以做任何你喜欢的事情。
推荐阅读
- angular - 如何将元素传递给另一个组件(最简单的方法)?
- android - Firebase 事件参数混淆
- python - 如何通过pyspark中的列将行添加到另一个数据框中的数据框中
- c++ - 有人可以帮我解决这个问题,即找到总和为 k 的数组元素对的索引吗?
- amazon-web-services - 为什么 Appsync 订阅不适用于对象输入参数?
- php - Yii2 rest api getBodyParams() 无法获取参数加载(Yii::$app->getRequest()->getBodyParams(), ''); 来自反应原生帖子
- hibernate - 春天/休眠。操作实体引用损坏的 FK(有意)
- qt - QProgressBar 中的十进制值
- java - Maven 检测到错误的 java 路径
- mysql - 它给了我一个位置错误