如何使用 AWS 身份验证保护我的 wcf 服务
Posted
技术标签:
【中文标题】如何使用 AWS 身份验证保护我的 wcf 服务【英文标题】:How to secure my wcf service using AWS authentication 【发布时间】:2016-04-21 14:47:45 【问题描述】:我可以使用 AWS 身份验证保护我的 WCF 服务吗?我试图通过谷歌搜索来解决这个问题,并找到关于调用已经使用 AWS 身份验证保护的服务的文章。不是一篇关于如何使用 AWS 保护 WCF 服务的文章。没有选择吗,我对 AWS 身份验证和签名的理解是错误的。请指点我开始的文章。
【问题讨论】:
为了教授如何(不)搜索此类问题,我们应该发布那些(不)能找到问题答案的搜索!! 你说的是 WCF SOAP 服务还是 WCF REST 服务? 【参考方案1】:我假设您打算创建一个使用 an HMAC based authentication scheme 的 WCF REST 服务,就像 Amazon S3 正在使用的那样。
实现这一点的方法是创建自己的WebServiceHost
并覆盖ApplyConfiguration
方法。在这个方法中,你设置了一个新的ServiceAuthorizationManager
。
this.Authorization.ServiceAuthorizationManager = new MyServiceAuthorizationManager();
从 WCF 的 ServiceAuthorizationManager
派生 MyServiceAuthorizationManager
类并覆盖 CheckAccessCore
方法。
class MyServiceAuthorizationManager : ServiceAuthorizationManager
protected override bool CheckAccessCore(OperationContext operationContext)
// check the validity of the HMAC
// return true if valid, false otherwise;
return IsValidHMAC(WebOperationContext.Current);
算法实现的更多细节,见this answer。
【讨论】:
正是我要找的,抱歉我的赏金已经过期了,让我再开一个赏金,试着奖励你赏金点以上是关于如何使用 AWS 身份验证保护我的 wcf 服务的主要内容,如果未能解决你的问题,请参考以下文章
WCF - 如何为 NTLM 身份验证配置 netTcpBinding?
如何在 .NET WCF 中保护 HTTP JSON Web 服务
如何在 ASP.Net MVC 应用程序中使用来自 WCF 身份验证服务的身份验证 cookie
具有公共/私有访问权限的 Appsync 身份验证,无需 AWS Cognito