2013-01-02 188 views
0

我创建了一个新的MVC4应用程序并安装NuGet包Breeze.MVC4WebApiClientSample如何授权BreezeController的WebAPI调用

的BreezeSampleController里面,我增加了一个“授权”属性。当我浏览到这里 http://localhost:XXXXX/api/BreezeSample/todos,我仍然可以看到数据。

我该如何授权此通话?我试图删除BreezeController属性,并添加这些 [ODataActionFilter,JsonFormatter]但我有另一个错误(操作'帖'在控制器'帖'.....不支持查询)

回答

1

我的不好。 [BreezeController]属性在删除环境操作过滤器方面过于积极;它显然删除了负责[Authorize]属性的过滤器。我有一个目前正在审查的修复程序。

“[ODataActionFilter,JsonFormatter]”公式没有遇到这个问题,因为它没有删除任何现有的过滤器。当然这也是一个问题。 如果您使用了新的ASP.NET MVC SPA模板...并且我认为您是! ...然后它的QueryFilterProvider与我们的ODataActionFilter冲突...这就是为什么我们发明[BreezeController]属性的原因,以及为什么我认为你得到了不支持查询的错误。你能确认你是从该SPA模板构建你的应用吗?

Btw ...你在说什么'帖子'动作? “Breeze.MVC4WebApiClientSample”没有这样的动作。

在任何情况下,我们预计[BreezeController]属性很快就会与[Authorize]一起正常工作。

+1

我们今天修好了。应该没有问题,因为v.0.82.1 – Ward

+0

Hi Ward,很抱歉把我的项目与示例项目混淆了。你是对的,我自己的项目是使用SPA模板创建的。 无论如何,我更新到0.82.1,现在它的作品,非常感谢! – Rave

+0

嘿,病房。对于1.4.11版本,这似乎仍然是个问题。我有一个从AuthorizeAttribute继承的自定义属性。在一个标准的控制器上,归因一个行为可以正常工作。在微风控制器上,它永远不会调用OnAuthorization()重载。 –

1

从breeze v0.82.1开始,现在应该是固定的。 BreezeController属性将不再导致任何授权属性的删除。