我们正在从旧的 .NET 1.1 远程系统迁移到 .NET 4.0 WCF 架构。系统的一部分是一个桌面客户端应用程序,我们用它来调用位于我们中间层的 300 多个函数。
我们正在将这些远程功能整合到 9 个服务中,但需要一种很好的方法来验证用户在任何其他后续 WCF 调用之前首先执行了“登录”功能。
由于登录只发生在这些服务之一上,我不确定是否有办法在服务之间“联合”它。(所有都托管在同一台机器上,同一个域。)我们通过 net.tcp 公开服务,目的是从长远来看也允许外部客户端的 wshttp 绑定。(不确定我是否会通过不同的绑定获得额外的东西,这可能会有所帮助)
我想出的是托管一个包含身份验证信息的单例。当验证用户登录并将其提交到“安全存储”时,我们将 Guid 返回给客户端以与后续 WCF 调用一起发送。
然后每个 WCF 调用都将针对单例“安全存储”进行验证。
所以问题是......我可以使用 WCF 原生的东西来实现同样的目标吗?