【发布时间】:2020-01-25 09:10:25
【问题描述】:
我们正在为学校制作一个 laravel 项目。我们有一个学校数据库,里面有教师、员工等用户。我的问题是如何防止来自特定学校的特定用户登录他们的学校状态标记为 = 0 或在我们的数据库中为非活动状态?
学校表
+--------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(191) | NO | UNI | NULL | |
| description | text | NO | | NULL | |
| logo | varchar(191) | YES | | NULL | |
| status | int(11) | NO | | 1 | |
| updated_by | varchar(191) | YES | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
+--------------+------------------+------+-----+---------+----------------+
用户表
+-------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(191) | NO | | NULL | |
| email | varchar(191) | NO | UNI | NULL | |
| password | varchar(191) | NO | | NULL | |
| role | int(11) | NO | | 0 | |
| school_id | int(11) | NO | | NULL | |
| gender | int(11) | NO | | 1 | |
| birthdate | date | YES | | NULL | |
| address | varchar(191) | NO | | | |
| phone | varchar(191) | YES | | NULL | |
| remember_token | varchar(100) | YES | | NULL | |
+-------------------+------------------+------+-----+---------+----------------+
登录控制器.php
class LoginController extends Controller
{
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
// protected $redirectTo = '/admin';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
// $this->middleware('guest')->except('logout');
}
}```
用户模型
public function schools()
{
return $this->belongsTo('App\School', 'school_id');
}
学校模型
public function users(){
return $this->hasMany(User::class);
}
我的 LoginController 只使用 AuthenticateUsers 函数,我不知道如何覆盖它或为我创建一个新函数。提前致谢。
【问题讨论】:
标签: php mysql laravel authentication