Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC4和Web API中的自定义授权_Asp.net Mvc_Authorization - Fatal编程技术网

Asp.net mvc MVC4和Web API中的自定义授权

Asp.net mvc MVC4和Web API中的自定义授权,asp.net-mvc,authorization,Asp.net Mvc,Authorization,我被MVC4中的自定义授权弄糊涂了。 我已经实现了一个定制的安全属性(基于System.Web.Mvc.AuthorizeAttribute),它工作得很好,现在我开始用一个Web api扩展我的项目。但是,web api似乎需要使用System.web.Http.authorized属性(?) 我不能对web api和标准mvc页面使用相同的授权吗?简单地说:不,你不能。这些系统是分开制造的。微软将来可能会合并这些公司。哇,这看起来太愚蠢了。。因此,我实际上必须创建两个几乎相同的类,并手动确保

我被MVC4中的自定义授权弄糊涂了。 我已经实现了一个定制的安全属性(基于System.Web.Mvc.AuthorizeAttribute),它工作得很好,现在我开始用一个Web api扩展我的项目。但是,web api似乎需要使用System.web.Http.authorized属性(?)


我不能对web api和标准mvc页面使用相同的授权吗?

简单地说:不,你不能。这些系统是分开制造的。微软将来可能会合并这些公司。

哇,这看起来太愚蠢了。。因此,我实际上必须创建两个几乎相同的类,并手动确保开发人员不会将错误类型的authorize属性应用于不同的操作?是的,就个人而言,我喜欢将类放在同一个文件中,名称如下:
MVCAuthorizationAttribute
apauthorizationattribute
,以防止开发人员使用错误的类,但这是您的职责。实际上,我试图创建一个通用属性,该属性将指向正确的属性(它将检查它是什么类型的控制器),但如果不提供参数或其他东西,这是不可能的。是的,这似乎是实现的方法。。。我必须说,自从微软推出MVC以来,我一直对他们的新组件和框架印象深刻,但这次有点失望。