使用Laravel怎么实现多域名字段验证

  介绍

使用Laravel怎么实现多域名字段验证?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>功能拆分

开始之前我们需要对系统各个功能点进行拆分,估算受影响的点:

<>强登录注册

登录注册功能首当其冲,我们需要用户在注册时通过访问的域名不同,记录的身份也不同,所以我们需要进行如下的处理:

<李>

增加字段身份

<李>

进行判重

<李>

进行登录验证

<强>数据处理

<李>

这个就不进行讨论了。根据用户所属身份不同,调用的数据也不同就行了。

<强>注册判重

判重依据:

我们知道使用<代码> php工匠:auth>

默认表单验证:

//,路径:app/Http/控制器/认证/RegisterController.php   protected  function 验证器(array 元数据)   {   ,return 验证器:使($ data,,   ,& # 39;名字# 39;,=祝辞,[& # 39;需要# 39;,,& # 39;字符串# 39;,,& # 39;马克斯:255 & # 39;],   ,& # 39;电子邮件,,=祝辞,[& # 39;需要# 39;,,& # 39;字符串# 39;,,& # 39;电子邮件# 39;,,& # 39;马克斯:255 & # 39;,,& # 39;独特:用户# 39;],   ,& # 39;密码# 39;,=祝辞,[& # 39;需要# 39;,,& # 39;字符串# 39;,,& # 39;分钟:8 & # 39;,,& # 39;确认# 39;],   ,]);   }

默认登录验证字段

//,路径:供应商/laravel/框架/src/照明//认证/AuthenticatesUsers.php基础   public  function 用户名()   {   ,return  & # 39;电子邮件# 39;;   }//,当然可以修改验证字段(看过文档的都知道),注意:登录验证字段必须是在表里面唯一的。

现在我们需要分析我们的需求:

在单一用户后台中,电子邮件判重已经足够了,但是对于多种用户一起使用就不太够了。

假设:我们有A, B两个域名,对应A, B两种用户,我们需要在一张表中存储A, B,首先我们判断A, B是属于那个域名的站(点),其次,看这个用户是否重复。

下面我们用Laravel表单验证来实现一下:

<强> 1,增加字段:

为方便演示,我直接在进行身份验证生成的迁移文件上直接修改,大家不要在实际项目中直接修改,而是通过新建迁移文件,使用修改表结构的方式增加字段

public  function 了()   {   ,模式:创建(& # 39;用户# 39;,,function  (Blueprint  $表),{   美元,表→bigIncrements (& # 39; id # 39;);   美元,表→字符串(& # 39;名字# 39;);   美元,表→字符串(& # 39;电子邮件# 39;);,//,去掉原来的独一无二的   美元,表→字符串(& # 39;身份# 39;);,//,增加的字段   美元,表→时间戳(& # 39;email_verified_at& # 39;)→nullable ();   美元,表→字符串(& # 39;密码# 39;);   美元,表→rememberToken ();   美元,表→时间戳();   ,});   }

<>强注意:在这个需求中,我们对迁移文件中名字的电子邮件和字段不需要进行独特的限定,因为他们的唯一性是有依赖的,不是独立的。

<强> 2,模拟用户注册,插入身份信息

//,路径:,app/Http/控制器/认证/RegisterController.php   protected  function 创建(array 元数据)   {   ,return 用户::创建([   ,& # 39;名字# 39;,=祝辞,$ data[& # 39;名字# 39;],   ,& # 39;电子邮件,,=祝辞,$ data[& # 39;电子邮件# 39;],   ,& # 39;密码# 39;,=祝辞,散列:使($ data[& # 39;密码# 39;]),   ,& # 39;身份# 39;,=祝辞,& # 39;pcsoft& # 39;,,//,模拟用户注册时,插入身份字段值   ,]);   }

<强> 3,进行判重处理

protected  function 验证器(array 元数据)   {   ,return 验证器:使($ data,,   ,& # 39;名字# 39;,=祝辞,[& # 39;需要# 39;,,& # 39;字符串# 39;,,& # 39;马克斯:255 & # 39;],   ,& # 39;电子邮件,,=祝辞,[& # 39;需要# 39;,,& # 39;字符串# 39;,,& # 39;电子邮件# 39;,,& # 39;马克斯:255 & # 39;,,规则::独特(& # 39;用户# 39;)→(function (查询),{   查询→美元才能在(& # 39;身份# 39;,,& # 39;=& # 39;,,& # 39;onlinedown& # 39;);   ,}))//,这句话的意思:按照什么条件对,users 表中的,email 去重,我们需要按照身份字段等于我们访问的域名对,email 去重,   ,& # 39;密码# 39;,=祝辞,[& # 39;需要# 39;,,& # 39;字符串# 39;,,& # 39;分钟:8 & # 39;,,& # 39;确认# 39;],   ,]);   }

使用Laravel怎么实现多域名字段验证