【发布时间】:2014-03-22 10:12:37
【问题描述】:
我有一个使用 ClaimsPrincipalPermissionAttribute 装饰的方法,如下所示:
[ClaimsPrincipalPermission(SecurityAction.Demand,
Resource = "User",
Operation = "accountId")]
IList<Transaction> ViewTransaction(int accountId)
{
// some code
}
有没有办法将ViewTransaction的accoutId参数传递给ClaimsPrincipalPermission Operation?
我想要的是使用 accountId,然后在 ClaimsAuthorizationManager 中实现自定义逻辑。
【问题讨论】:
-
如果 accountId 作为参数传递到您的 ViewTransaction 方法(这意味着 accountId 必须存在于其他地方),为什么不能以相同的方式将其传递到您的属性中?
-
因为我调用 ViewTransaction(accountId)。 “以同样的方式通过”是什么意思?
-
我的意思是你不能在你的属性中调用 accountId 作为参数,类似于你对 ViewTransaction 方法的处理方式吗?
-
很抱歉,您是在问我问题吗? ViewTransaction() 的 accountId 由最终用户输入。我想在涉及 ViewTransaction 的实际代码之前将它传递给属性。
标签: c# security reflection attributes claims-based-identity