首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure ACS + MVC + WCF

Azure ACS + MVC + WCF
EN

Stack Overflow用户
提问于 2013-07-07 21:21:11
回答 1查看 302关注 0票数 1

我有一个通过Azure ACS授权用户的MVC web应用程序。现在,我希望我的web应用程序调用我的WCF服务。由于这些服务可以被其他应用程序调用,因此我也希望通过ACS来保护它们。我不知道如何设置它。我能以某种方式在我的WCF服务调用中重用安全令牌吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-08 01:35:39

在形式上你不能,因为这是两个不同的(自主的)“应用程序”。令牌是为特定的应用程序(或“依赖方”)颁发的。您的网站应为web服务请求第二个令牌。您有两个选项:

1-只需在服务标识(即网站假定的标识)下获取一个令牌,并将其附加到对web服务的调用中。WCF绑定支持这种开箱即用的方式(尽管复杂,就像任何WCF配置一样)。

2-“代表”原始用户获取WCF的令牌。这是一个委托场景,其中web应用程序的原始调用者的身份被传输到服务。

第一种选择相当简单(抛开WCF的细节不谈)。第二种选择更复杂,在ACS中不受支持(据我所知),因为它需要一个特殊的端点来理解并发布ActAs令牌。

如果您拥有网站和服务,并且是“同一个应用程序”,则可以对两者使用相同的令牌。这是一个实用的捷径,而不是一个纯粹的实现,可能会有其他影响(例如,ACS中的同一个应用程序,WCF不能很容易地区分它是从你的网站还是外部方调用的,等等)。

在这种情况下,MVC应用程序必须保留发送给它的令牌。对此有一个设置(bootstraptoken=true)。.NET 4.5中的WIF有一点变化,所以可能会有一些其他的变化。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17512527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档