Asp.net mvc Azure ACS+MVC+WCF
我得到了一个MVC web应用程序,它通过Azure ACS授权用户。现在我希望我的web应用程序调用我的WCF服务。由于这些服务可以被其他应用程序调用,我希望它们也能通过ACS得到保护。我不知道如何设置这个。我可以在我的WCF服务调用中以某种方式重用安全令牌吗?正式来说,你不能,因为这是两个不同的自主应用程序。代币是为特定应用程序或依赖方发行的。您的网站应该为web服务请求第二个令牌。您有两种选择: 1-只需在服务标识下获取一个令牌,该标识是网站假定的标识,并将其附加到您对web服务的调用中。WCF绑定支持这种开箱即用的方式,尽管与任何WCF配置一样复杂 2-代表原始用户获取WCF的令牌。这是一个委派场景,在该场景中,web应用程序的原始调用方的身份被传输到服务 第一种选择相当简单,不考虑WCF的细节。第二个选项更复杂,据我所知,ACS不支持,因为它需要一个特殊的端点来理解和发布ActAs令牌 如果您同时拥有网站和服务,并且是同一个应用程序,则可以对其使用相同的令牌。这是一个实用的快捷方式,不是一个纯粹的实现,并且可能有其他影响,例如,ACS中的同一个应用程序,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应用程序必须保留发送给它的令牌。有一个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。。我想没什么大不了的。