我们正在从旧的.NET 1.1远程系统转移到.NET 4.0 WCF体系结构。系统的一部分是一个桌面客户端应用程序,我们正在使用这个应用程序来调用位于我们中间层的300多个函数。跨多个服务的WCF安全性
我们正在将这些远程功能合并到9个服务中,但需要一种很好的方法来验证用户在任何其他后续WCF调用之前首先执行了“登录”功能。
由于登录只发生在其中一个服务上,我不确定是否有办法在整个服务中“联合”这个服务。 (所有都在同一台机器上,同一个域中)。我们通过net.tcp公开服务,目的是在长期内允许外部客户端绑定wshttp。 (不知道如果我得到一些额外的不同绑定,可能会有所帮助)
我想出的是承载一个持有身份验证信息的单身人士。当用户登录被验证并提交给“安全商店”时,我们会返回一个Guid返回给客户端,以后续的WCF调用发送。
然后每个WCF调用将针对单身“安全存储”进行验证。
所以问题是......我可以使用WCF原生的东西来实现这个相同的目标吗?
既然你想要去与自定义基于令牌的身份验证,看看我的答案在这里,这几乎涵盖了你的问题:http://stackoverflow.com/questions/11349539/wcf-authentication-service-or-token-based-security/11350784#11350784 – 2012-07-06 22:22:27
什么你现在正在进行身份验证吗? – Paparazzi 2012-07-07 02:31:48
我们对使用自定义类的数据库使用salt和hash。但是这给了我一个想法,我们可能想要去用户凭证路线。即使安全性决定我们需要执行令牌,我们也可以将该令牌作为用户凭证上的“密码”来传递。我希望找到一种不会一次又一次回到数据存储的方式,但是这会起作用。 (但是,如果它成为性能问题,我们可以将它存储在我们的“缓存”单例中)。谢谢! – Tojamismis 2012-07-07 03:17:20