4

我有一个应该为多个客户提供服务的 WCF 服务。

WCF 将有一个与数据库通信的数据访问层。

这是我设计理念的一部分:我的设计

我的设计

如您所见 - 每个客户端都将连接到第一个 WCF 服务以获取信息(获取产品、更新产品),并以 pub\sub 方式连接到第二个 WCF 服务,因此它将能够接收有关不同事物的通知它想要。

我在数据库中有一个“用户”表,其中包含系统中的所有用户。(有管理员、普通用户和技术人员)。

我的问题是 - 我如何从客户端“登录”到数据库?

我目前的想法 - 在服务中有一个名为“连接(用户名,密码)”的功能,当客户端连接时 - 它将传递用户名和密码以在数据库中进行身份验证,并且只有经过身份验证 - 客户端才会开始发送命令.

问题是 - 任何人都可以编写自己的客户端来连接到我的服务并运行其他功能而无需进行身份验证。无论客户端是否经过身份验证,我都可以通过保存服务来解决这个问题。

但是有没有更好的解决方案,只是在服务中具有“连接”功能?

希望有一些简单而有效的东西。

4

1 回答 1

2

UserNamePasswordValidator您应该创建一个从抽象类派生并实现该Validate()方法的自定义用户名和密码验证器。然后,您可以根据需要验证提供的用户名和密码。要了解有关设置的更多信息,请阅读本文

于 2012-04-21T17:21:06.577 回答