我正在使用MVC核心的网站,我有以下问题进行整理。MVC核心授权
假设我有两个GroupA和GroupB组,这些组有一些实体。一个实体属于GroupA或GroupB--但不能同时属于这两个实体。为了保护这些实体的更新,我已经定义了以下政策:
AuthorizationOptions.AddPolicy("UpdateEntityInGroupAPolicy", policy =>
{
policy.RequireClaim("ClaimThatAllowsUpdatingEntityInGroupA");
});
这项政策将确保用户,谁想要更新组A的实体有要求ClaimThatAllowsUpdatingEntityInGroupA。可以为声明ClaimThatAllowsUpdatingEntityInGroupB的GroupB创建类似的策略。
更进一步,让我们假设组A具有ID为5的实体和组B具有ID为10的实体如果给定的用户(谁的权利要求ClaimThatAllowsUpdatingEntityInGroupA,但不是要求ClaimThatAllowsUpdatingEntityInGroupB)在编号为5更新实体网址:
http://example.com/entity/5/update
我现在该如何确保用户不只是在网址更改为5〜10和B族居然更新ID是10的其他实体?
我希望我这样一个问题,并感谢您的帮助:)
感谢您详细的解答。除此之外,我还可以阅读相同的方法,例如[这里出色的网页](http://andrewlock.net/resource-specific-authorisation-in-asp-net-core/)。我认为这是要走的路。谢谢 :) – user2711444