如何使用AWS身份验证保护我的wcf服务

时间:2016-01-15 22:09:32

标签: c# wcf authentication amazon-web-services authorization

我可以使用AWS身份验证来保护我的WCF服务吗?我想通过谷歌搜索找出这一点,并找到有关使用AWS身份验证调用已经安全的服务的文章。不是关于如何使用AWS保护WCF服务的文章。我没有选择,是我对AWS身份验证的理解和签署错误。请指点我开始的文章。

1 个答案:

答案 0 :(得分:1)

我打算假设您打算创建一个使用an HMAC based authentication scheme正在使用的Amazon S3的WCF REST服务。

实现此目的的方法是创建自己的WebServiceHost并覆盖ApplyConfiguration方法。在此方法中,您设置了新的ServiceAuthorizationManager

this.Authorization.ServiceAuthorizationManager = new MyServiceAuthorizationManager();

从WCF的MyServiceAuthorizationManager中导出ServiceAuthorizationManager课程并覆盖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