【发布时间】:2014-02-26 09:31:23
【问题描述】:
我正在尝试在 ASP.NET MVC 应用程序中实现基于声明的安全性。我计划使用 ClaimsPrincipalPermission 类来验证基于资源/操作对的访问。
例如
[ClaimsPrincipalPermission(SecurityAction.Demand, Operation="Read", Resource="Invoices")]
[ClaimsPrincipalPermission(SecurityAction.Demand, Operation="Create", Resource="Fees")]
所以现在我需要自定义声明来验证我的操作/资源对。我有不同的资源,它们都有 CRUD 操作。
这是我对自定义声明的想法:
((ClaimsIdentity)incomingPrincipal.Identity).AddClaim(new Claim("http://mysoftware.com/identity/claims/invoices", "Read"));
或
((ClaimsIdentity)incomingPrincipal.Identity).AddClaim(new Claim("http://mysoftware.com/identity/claims/fees", "Create"));
((ClaimsIdentity)incomingPrincipal.Identity).AddClaim(new Claim("http://mysoftware.com/identity/claims/fees", "Read"));
基本上,每个资源有一个声明类型,声明值可以是读取/创建/更新/删除的组合。这是为使用 CRUD 权限的系统实现自定义声明的正确方法吗?我应该采取不同的做法吗?
谢谢!
【问题讨论】:
标签: wif