Asp.net mvc MVC3控制器中的堆叠授权
是否可以在控制器上堆叠多个自定义属性 我试过这样做:Asp.net mvc MVC3控制器中的堆叠授权,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,是否可以在控制器上堆叠多个自定义属性 我试过这样做: [IsOwner] [IsFranchisee] public class CartController : Controller { ... } 但它的行为是不稳定的。有时有效,有时无效(主要是后者) 是的,你可以。如果您喜欢在源代码处为authorized属性,那么它有AllowMultiple=true可以。如果您喜欢在源代码处为authorized属性,它有AllowMultiple=true通常用于动态授权,控制器或操作会
[IsOwner]
[IsFranchisee]
public class CartController : Controller
{
...
}
但它的行为是不稳定的。有时有效,有时无效(主要是后者) 是的,你可以。如果您喜欢在源代码处为
authorized属性
,那么它有AllowMultiple=true
可以。如果您喜欢在源代码处为authorized属性,它有AllowMultiple=true
通常用于动态授权,控制器或操作会被赋予一个单一的[Authorize]注释,然后在控制器或操作内部处理授权。通常用于动态授权,控制器或操作被赋予一个[Authorize]注释,然后在控制器或操作内部处理授权。您确定您的实现是正确的吗?
我之所以这样问,是因为除非您设置order
属性,否则对于FilterAttributes
(其AuthorizeAttribute
派生自)没有保证订单
因为你说这种行为是不稳定的,我想也许一个属性抵消了另一个属性。例如,您的用户IsOwner==true
,但is特许经营人==false
。也许是否授予权限取决于哪个先执行
因此,您可以尝试为属性指定一个order属性,看看行为是否仍然不稳定您确定您的实现是正确的吗?
我之所以这样问,是因为除非您设置order
属性,否则对于FilterAttributes
(其AuthorizeAttribute
派生自)没有保证订单
因为你说这种行为是不稳定的,我想也许一个属性抵消了另一个属性。例如,您的用户IsOwner==true
,但is特许经营人==false
。也许是否授予权限取决于哪个先执行
因此,您可以尝试为属性指定一个order属性,看看行为是否仍然不稳定没有想到这一点。但是我最终改变了我的实现,没有想到这一点。但我最终改变了我的实现。