2014-09-02 129 views
1

問題: 我有一些信息,有些用戶必須通過我的Web應用程序訪問它們。假設我擁有相同類型T的資源A,B,C,用戶是X,Y,Z.該業務指出用戶可以像下表中那樣訪問此資源。如何授予對特定資源的訪問權限?

用戶 - >資源
X - >一個
Ÿ - > AC
ž - > ABC

一個真實世界的例子將是這樣的:

  • 用戶X可以查看所有來自洛杉磯的大賣場
  • 用戶Y可以看到來自洛杉磯和芝加哥的所有大賣場
  • 用戶Z可以看到,從洛杉磯,芝加哥和N.Y.

另一件事提大賣場的是,在任何時候,用戶X可被授予訪問看到N.Y.的大賣場了。

問題: 我該如何實現授權系統,以便允許我授予用戶對特定資源集的訪問權限?

我的第一個想法: 由於我打算使用ASP.NET MVC和Web API,我的第一個想法是使用基於角色的授權。之後,我發現this article關於如何將基於角色的授權的概念擴展到所謂的「基於活動」的授權。 但是,即使這種解決方案並不適合我的業務,​​因爲在我的代碼中,我必須有一個名爲GetAllHypermarkets的函數,它沒有參數,它將返回用戶可以看到的所有大型超市。例如,對於用戶X,它將僅返回來自L.A的大型超市。我如何實現這一目標?

回答

0

有很多有趣的方面,它可以幫助你:

  • ABAC - 基於屬性的訪問控制
  • PBAC - 基於策略的訪問控制
  • RAdAC - 風險自適應接入控制
  • SitBAC - 基於情境的訪問控制

我想每個人都希望有一個按秒命名的訪問控制解決方案真正的專業人士,這就是爲什麼大量的名稱與難以理解的規格...

AFAIK來自這些ABAC是最精細的解決方案。例如,甚至有支持ABAC的markup language ...我建議您使用谷歌或https://security.stackexchange.com/進一步的細節,因爲我不是安全專家,所以我可能有關於這些條款的錯誤信息。我會發一個「有什麼區別」類型的問題在你的名字,但他們會踢我的屁股1000 downvotes我猜...

相關問題