最佳实践:Silverlight客户端和a.Net服务器之间的身份验证

时间:2010-08-02 14:46:28

标签: c# silverlight authentication

我正在开发一个项目,我运行的服务器基本上是带有SQL Server Express数据库的.Net C#应用程序,现在将使用WCF进行Web服务实现,然后有不同公司将用于交互的Silverlight客户端使用此服务器。如何以良好可靠的方式实现用户身份验证?我在这里阅读了很多帖子,它们将在服务器端使用ASP,但我的服务器不是ASP服务器。我应该实施它还是有其他选择?

我天真的想法是这样的:

  • 用户名,密码和公司作为凭证存储在数据库
  • Silverlight客户端会在启动时询问这些凭据并将其发送到服务器以获得确认。
  • 从现在起,这些凭据就在客户端和服务器之间的每次通信中,并且服务器每次都会确认它们。

这是天真和不安全吗?

1 个答案:

答案 0 :(得分:1)

由于您使用的是基本网络协议,因此可以考虑使用HTTPS频道和

1)在URL中嵌入凭证 - 只要您使用HTTPS就可以了

2)在初始验证凭证时从服务中获取唯一标识符,然后在将来的所有调用中都需要此标识符 - 保存在数据库查找中,但您仍应保留在https中 - 如果您使用http,那么它是根据定义不安全