我正在使用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