c# - WCF:配置角色以访问数据库资源

标签 c# wcf authentication authorization

我在 Web 服务器上设置了 WCF 服务。该服务在被访问时会执行一些数据库操作。此 WCF 服务应该使用什么类型的帐户(角色和权限)与数据库进行交互,以及如何创建相同的帐户。网络服务是实现这一目标的方法吗?

该服务将由大量用户访问,这些用户将受到不同程度的限制。我应该如何以最安全、最稳健的方式实现这一点?

提前致谢。

最佳答案

嗯,这取决于很多因素。

您必须首先至少回答以下两个问题:

  • 谁负责身份验证:您的事件目录(对 AD 有效的用户)、数据库(SQL Server 用户),还是您使用自定义身份验证系统(数据库中的User 表)?
  • 谁负责授权:您的 Active Directory(用户组)、数据库(SQL Server 角色),还是您使用自定义身份验证系统(RoleUserRole) > 表格)?

当您回答这些问题时,这些问题与您想要管理安全性的方式相关(而不是如何使用 WCF 实际实现这一点),然后您可以找到一个使用WCF的方式。

更具体地说,您必须选择用于身份验证的 WCF 安全配置:

消息与传输安全

  • Windows(非常适合将您的应用程序集成到 AD 中)
  • 用户名(登录名+密码)
  • ...等等

然后是基于角色的授权提供程序(如果有):

  • SqlRoleProvider(SQL Server 角色)
  • Windows 组(适用于 Windows 域)
  • 自定义
  • 等等

所以你必须先做出一些选择,然后我建议你阅读this MSDN article选择要使用的安全配置,具体取决于您期望如何管理身份验证和授权。

关于c# - WCF:配置角色以访问数据库资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17425491/

相关文章:

c# - .NET 6.0 : Getting CS8600 warning when assigning null to a variable of type object

c# - 拥有通用比较器的最佳方法是什么

json - WCF 服务速度慢 - 有选项吗?

c# - 错误 : The type or namespace name 'ApplicationUser' could not be found in Visual Studio 2013

c# - Uri模板WCF

security - 使用预共享 key 进行身份验证

php - 登录检查页面空白或不重定向

c# - 关于装饰器和策略模式 C# 的设计 OOP 问题

amazon-web-services - 如何使用 AWS 开发工具包进行身份验证

c# - ArrayList.Add - 只添加引用?