小编Dav*_*one的帖子

带有Windows身份验证的WebAPI CORS - 允许匿名选项请求

我有一个运行Windows身份验证的WebAPI 2 REST服务.它与网站分开托管,因此我使用ASP.NET CORS NuGet包启用了CORS.我的客户端站点正在使用AngularJS.

到目前为止,这是我经历过的:

  1. 我没有设置withCredentials,因此CORS请求返回401.通过在我的$ httpProvider配置中添加withCredentials解决了这个问题.
  2. 接下来,我使用通配符源设置了EnableCorsAttribute,使用凭据时不允许这样做.通过设置明确的原始列表解决.
  3. 这使我的GET请求成功,但我的POST发出了预检请求,而我没有创建任何控制器操作来支持OPTIONS动词.为了解决这个问题,我将MessageHandler实现为全局OPTIONS处理程序.它只是为任何OPTIONS请求返回200.我知道这不完美,但现在在Fiddler工作.

我被困的地方 - 我的Angular预检电话不包括凭据.根据这个答案,这是设计,因为OPTIONS请求被设计为匿名.但是,Windows身份验证使用401停止请求.

我已经尝试将[AllowAnonymous]属性放在我的MessageHandler上.在我的开发计算机上,它可以工作 - OPTIONS动词不需要身份验证,但其他动词可以.但是,当我构建并部署到测试服务器时,我将继续在我的OPTIONS请求中获得401.

使用Windows身份验证时,是否可以在我的MessageHandler上应用[AllowAnonymous]?如果是的话,有关如何做的任何指导?或者这是一个错误的兔子洞,我应该看一个不同的方法?

更新:我能够通过在IIS中的站点上设置Windows身份验证和匿名身份验证来使其工作.这导致一切都允许匿名,所以我添加了一个全局的Authorize过滤器,同时保留了MessageHandler上的AllowAnonymous.

然而,这感觉就像一个黑客...我一直都明白只应该使用一种身份验证方法(不混合).如果有人有更好的方法,我会很感激听到它.

windows-authentication cors asp.net-web-api angularjs

16
推荐指数
3
解决办法
2万
查看次数

什么??(??)在C中表示iSeries

我的任务是将C程序从iSeries/AS400转换为.NET.从我看过C开始已经有一段时间了,之前我从未在iSeries上使用过C语言.我看到的东西如

main(int argc, char *argv ??(??))

我不确定是什么?是为了.根据这里的用法,我会假设它是针对数组的,但是在我走错路之前要确保它.

c

4
推荐指数
1
解决办法
176
查看次数

Tridion 2009 - 从组件模板发布另一个组件

一,整体说明:

有两个组件模板,NewsArticle和NewsList.NewsArticle是一个Dreamweaver模板,用于显示新闻文章的内容.NewsList是一个xml文件,其中包含有关所有新闻文章的汇总信息.

目前,内容作者必须发布新闻文章,然后重新发布新闻列表以重新生成xml.

问题:

我的任务是发布新闻文章也重新生成并发布新闻列表.通过C#,我能够检索新闻列表组件的内容,从新闻文章中生成更新的xml,并将其合并到新闻列表中的xml中.我在发布新闻列表时遇到了麻烦.

我对文档的访问权限有限,但据我所知,我相信使用静态PublishEngine.Publish方法可以让我做我需要的.我相信第一个参数(items)只是一个包含我更新的新闻列表的列表,第二个参数是一个新的PublishInstruction,RenderInstruction.RenderMode设置为Publish.我对pubTgets应该是什么感到有点迷茫.

我是在正确的轨道上吗?如果是这样,感谢发布方法调用的任何帮助,如果没有,任何建议?

tridion

2
推荐指数
2
解决办法
365
查看次数