2012-07-06 95 views
0

我们正在从旧的.NET 1.1远程系统转移到.NET 4.0 WCF体系结构。系统的一部分是一个桌面客户端应用程序,我们正在使用这个应用程序来调用位于我们中间层的300多个函数。跨多个服务的WCF安全性

我们正在将这些远程功能合并到9个服务中,但需要一种很好的方法来验证用户在任何其他后续WCF调用之前首先执行了“登录”功能。

由于登录只发生在其中一个服务上,我不确定是否有办法在整个服务中“联合”这个服务。 (所有都在同一台机器上,同一个域中)。我们通过net.tcp公开服务,目的是在长期内允许外部客户端绑定wshttp。 (不知道如果我得到一些额外的不同绑定,可能会有所帮助)

我想出的是承载一个持有身份验证信息的单身人士。当用户登录被验证并提交给“安全商店”时,我们会返回一个Guid返回给客户端,以后续的WCF调用发送。

然后每个WCF调用将针对单身“安全存储”进行验证。

所以问题是......我可以使用WCF原生的东西来实现这个相同的目标吗?

+0

既然你想要去与自定义基于令牌的身份验证,看看我的答案在这里,这几乎涵盖了你的问题:http://stackoverflow.com/questions/11349539/wcf-authentication-service-or-token-based-security/11350784#11350784 – 2012-07-06 22:22:27

+0

什么你现在正在进行身份验证吗? – Paparazzi 2012-07-07 02:31:48

+0

我们对使用自定义类的数据库使用salt和hash。但是这给了我一个想法,我们可能想要去用户凭证路线。即使安全性决定我们需要执行令牌,我们也可以将该令牌作为用户凭证上的“密码”来传递。我希望找到一种不会一次又一次回到数据存储的方式,但是这会起作用。 (但是,如果它成为性能问题,我们可以将它存储在我们的“缓存”单例中)。谢谢! – Tojamismis 2012-07-07 03:17:20

回答

0

此表帮助secect结合enter image description here

有关安全,WCF有几种类型的身份验证, SecurityMode

要求具体化,在WCF安全性是很大的话题

+0

具体而言,我们需要仍然能够对我们的数据库今天的自定义验证进行验证。我们使用自定义的.net类来使用salt和hash。问题是,我们需要强制登录成为第一个电话,但是没有我们通过单一服务获得的“启动”和“确定”的好处。 – Tojamismis 2012-07-07 03:11:04