Laravel通过匹配电子邮件(默认-可以被覆盖)和密码来授权用户。
是否可以使用以下三个字段授权用户:
..。where 'group‘是“用户”数据库中的一些附加字段。
换句话说,用户可以属于组:1,只可以登录到组:1资源,但不能登录组:2使用他的组:1凭据。
如果用户属于组:1和组:2,那么他需要不同的凭据才能登录到任何一个组。
此外,用户可以对两个组使用相同的电子邮件。在这种情况下,将作为附加标识符的是组号。当然密码也不一样。
我认为在字段'id‘和'group’上设置一个数据库多列索引是一个好的开始,但我未能理解(目前)需要什么才能使Laravel授权过程对3个字段(而不是2个字段)敏感。
我希望你能给我一些建议。
发布于 2017-06-13 21:10:06
这听起来像是在尝试实现一种只属于特定组的数据的租赁形式。请看一下这个包:
https://github.com/HipsterJazzbo/Landlord
本质上,您将向希望限制访问的表中添加一个group_id字段,然后使用中间件,将一个附加的where('group_id', Auth::user()->group_id)子句应用于任何数据库查询。例如,这对于检索属于特定用户的数据子集非常有效。
https://stackoverflow.com/questions/44526956
复制相似问题