Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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 Azure ACS+MVC+WCF_Asp.net Mvc_Wcf_Azure_Acs - Fatal编程技术网

Asp.net mvc Azure ACS+MVC+WCF

Asp.net mvc Azure ACS+MVC+WCF,asp.net-mvc,wcf,azure,acs,Asp.net Mvc,Wcf,Azure,Acs,我得到了一个MVC web应用程序,它通过Azure ACS授权用户。现在我希望我的web应用程序调用我的WCF服务。由于这些服务可以被其他应用程序调用,我希望它们也能通过ACS得到保护。我不知道如何设置这个。我可以在我的WCF服务调用中以某种方式重用安全令牌吗?正式来说,你不能,因为这是两个不同的自主应用程序。代币是为特定应用程序或依赖方发行的。您的网站应该为web服务请求第二个令牌。您有两种选择: 1-只需在服务标识下获取一个令牌,该标识是网站假定的标识,并将其附加到您对web服务的调用中。

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

正式来说,你不能,因为这是两个不同的自主应用程序。代币是为特定应用程序或依赖方发行的。您的网站应该为web服务请求第二个令牌。您有两种选择:

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

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

第一种选择相当简单,不考虑WCF的细节。第二个选项更复杂,据我所知,ACS不支持,因为它需要一个特殊的端点来理解和发布ActAs令牌

如果您同时拥有网站和服务,并且是同一个应用程序,则可以对其使用相同的令牌。这是一个实用的快捷方式,不是一个纯粹的实现,并且可能有其他影响,例如,ACS中的同一个应用程序,WCF无法轻易区分它是从您的网站或外部方调用的,等等


在这种情况下,MVC应用程序必须保留发送给它的令牌。有一个bootstraptoken=true的设置。NET 4.5中的WIF API有一点变化,因此可能还有其他方面。

正式来说,你不能这样做,因为这是两个不同的自主应用程序。代币是为特定应用程序或依赖方发行的。您的网站应该为web服务请求第二个令牌。您有两种选择:

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

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

第一种选择相当简单,不考虑WCF的细节。第二个选项更复杂,据我所知,ACS不支持,因为它需要一个特殊的端点来理解和发布ActAs令牌

如果您同时拥有网站和服务,并且是同一个应用程序,则可以对其使用相同的令牌。这是一个实用的快捷方式,不是一个纯粹的实现,并且可能有其他影响,例如,ACS中的同一个应用程序,WCF无法轻易区分它是从您的网站或外部方调用的,等等


在这种情况下,MVC应用程序必须保留发送给它的令牌。有一个bootstraptoken=true的设置。NET 4.5中的WIF API稍有更改,因此可能还有其他内容。

谢谢您的回答。我已经开始重新考虑我的体系结构,而不是让MVC应用程序调用WCF服务,我将让它直接与数据库通信-我消除了开销和类似的问题。。任何第三方应用程序都必须通过MVC web api。。我想没什么大不了的。谢谢你的回答。我已经开始重新考虑我的体系结构,而不是让MVC应用程序调用WCF服务,我将让它直接与数据库通信-我消除了开销和类似的问题。。任何第三方应用程序都必须通过MVC web api。。我想没什么大不了的。