繁体   English   中英

WCF使用数据库对客户端进行身份验证

[英]WCF Authenticate Client with database

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

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

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

我的设计

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM