开箱即用Laravel通过匹配电子邮件(默认 - 可以覆盖)和密码来授权用户。
是否可以使用3个字段授权用户,例如:
...其中' group'来自用户的一些额外字段'数据库中。
换句话说,用户可以属于组:1并且可以登录到组:仅1个资源,但不能分组:2个使用他的组:1个凭据。
如果用户属于group:1且group:2,那么他需要不同的凭据才能登录任何一个组。
此外,用户可以为两个组使用相同的电子邮件。在这种情况下,它是作为附加标识符的组号。当然密码会有所不同。
我正在考虑在字段上设置数据库多列索引' id'和' group'这将是一个良好的开端,但我还没有掌握(还)需要使Laravel授权过程对3个字段敏感而不是2个。
我很感激一些指示。
答案 0 :(得分:1)
这听起来像是您尝试仅对属于某些群组的数据实现租赁形式。看看这个包:
https://github.com/HipsterJazzbo/Landlord
实际上,您可以向要限制访问的表中添加@Path("/garbage")
@Produces(MediaType.APPLICATION_JSON)
public class GarbageController {
private static final Logger LOG = LoggerFactory.getLogger(GarbageController.class);
@PUT
@Path("/{params: [\\d,]+}")
@Consumes(MediaType.APPLICATION_JSON)
@Timed
public Response updateGarbage(@PathParam("params") List<PathSegment> params) {
LOG.warn("updateGarbage");
return Response.status(Response.Status.OK).build();
}
@GET
@Path("/{garbageId}")
public Response getGarbageById(@PathParam("garbageId") long garbageId) {
LOG.warn("getGarbage");
return Response.status(Response.Status.OK).build();
}
}
字段,然后使用中间件,对任何数据库查询应用其他group_id
子句。例如,这非常适用于按角色检索属于特定用户的数据子集。