小编Ben*_*Ben的帖子

Laravel 4多用户身份验证

我正在构建一个Laravel 4应用程序,该应用程序需要3种实体类型的登录验证:Coach,Student和Admin,所有这些都具有单独的用户界面.虽然我可以使用像Sentry 2这样的软件包和一个带有用户类型的单个数据库用户表来实现这一点,但是关于可能出现在轨道上的潜在多态数据库设计模式和令人头疼的问题并不适合我.处理过去以前的应用程序中的多态问题,以及当您想要规范化数据库结构时可能会产生的悲痛等等,为每种实体类型分别设置DB表似乎是一种更好的方法.

你会如何解决这个设计问题?

Laravel 4 auth基本上使用以下文件:

  • Auth.php(门面)
  • AuthManager.php
  • AuthServiceProvider.php
  • Guard.php
  • auth.php(config)
  • User.php(雄辩的模型)

我已经玩过复制这些文件,主要是为工作的教练实体提供一个独立的auth,在app.php文件中注册facade和服务提供者,以及对config进行必要的更改以使用Coach用于身份验证的雄辩模型:

  • AuthCoach.php(门面)
  • AuthCoachManager.php
  • AuthCoachServiceProvider.php
  • Guard.php
  • authcoach.php(config)
  • Coach.php(雄辩模特)

我仍在使用标准Laravel 4 auth中的Guard.php,但是如果需要通过创建GuardCoach.php文件来定制Guard方法的Guard方法,可以轻松扩展Guard.

如果我要为每种实体类型分别使用auth,你认为这是实现它的好方法吗?

你能看到任何潜在的问题或知道更好的方法吗?

php authentication laravel laravel-4

7
推荐指数
1
解决办法
4929
查看次数

标签 统计

authentication ×1

laravel ×1

laravel-4 ×1

php ×1