我需要有关保护WCF服务的帮助,以便只有授权用户才能调用服务方法。
WCF服务配置了wsHttpBinding,并在Windows服务下托管。
客户端应用程序是一个asp.net网站。此外,调用WCF服务的用户已经被客户端应用程序授权,因此只需确保他们在服务端处理请求时获得授权。
请指导我以上有哪些不同的方式(以及它们的利弊,如果可能的话)。
谢谢!
答案 0 :(得分:1)
如果您使用的是ASP.NET角色提供程序基础结构,则可以通过WCF传递用户并利用相同的提供程序。这样会很好,因为它可以保持整个过程边界的逻辑。
如果您正在使用ASP.NET的Windows组,则同样适用,只需重新授权。
证书是一种选择,但您必须管理它们。
最后,您可以发出访问令牌并在WCF端验证它。这可以通过扩展WCF(可能在合同级别)来完成。然后,您必须通过其他服务管理令牌以强制执行到期等。