【问题标题】:Windows form plus active directoryWindows 窗体加活动目录
【发布时间】:2012-05-08 18:11:32
【问题描述】:

我必须为应用程序(Windows 窗体)实现自己的安全性。

该应用程序供内部使用(10 个用户),但由于敏感数据,安全性非常重要。 (SQL Server 2008 在后端,.NET 4.0)

我没有登录表单,但我在app.config 中有一个连接字符串。所以我想也许app.config 是实施广告组的好地方?还是借用asp.net会员提供商?

感谢您的建议。

【问题讨论】:

  • 这是 Winforms 还是 ASP.NET?我怀疑两者兼而有之。

标签: c# sql-server winforms active-directory


【解决方案1】:

如果您尝试维护数据库权限,请在数据库上设置它们并让您的应用程序在连接字符串中使用Integrated Security=True。用户将以自己的身份连接到数据库并拥有数据库指定的任何权限。

【讨论】:

  • 没有。许多人可以访问数据库,但只有少数人可以访问应用程序。
  • 所以你想让那些无法访问应用程序的人更难做应用程序所做的任何事情?如果他们可以访问数据库,他们可以自己做;为什么要锁定应用程序?
  • 没关系。如果应用程序做的第一件事是连接到数据库,那么只有这少数用户能够访问在 SQL 服务器上分配了权限的应用程序。这个答案听起来像是一个正确的答案。
  • 您的意思是按 AD 组在 SQL Server 中分配角色吗?
  • 如果要按组,则按组授予权限。如果您希望用户获得它,则按用户授予权限。但是让数据库处理数据库权限;您的应用程序需要做的就是连接用户的帐户。这样您就不必承担处理权限的角色了。
【解决方案2】:

为什么不直接使用活动目录组成员来控制安全性?您与 SQL Server 数据库的连接字符串可以放在配置文件中,但您可能应该在将其发布给客户端之前对其进行“加密”。

【讨论】:

  • 我的意思是假设只有两个应用程序组可以访问该应用程序。怎么样?
  • 我不确定我是否理解您的评论。您是在问如何只允许给定 AD 组中的用户访问应用程序?
【解决方案3】:

如果您决定检查用户的 AD 组并阻止应用程序在启动时继续运行,请查看 here

【讨论】:

    猜你喜欢
    • 2016-11-19
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多