如何审核asp.net/SQL Server用户

时间:2011-08-15 16:15:04

标签: c# .net asp.net sql sql-server-2008

我正在构建一个非常简单的asp.net应用程序,它将具有SQL Server 2008后端。

一些用户将输入数据并存储在数据库中,一些用户将查看数据。

SQL Server 2008正在为每个用户使用Windows身份验证;但是,我无法让ASP.NET使用Windows身份验证。有一种简单的方法允许使用ASP.NET进行Windows身份验证吗?我找到了一种非常复杂的方式,但我不喜欢它。

我需要审核用户执行的每个操作。

我应该在应用程序级别还是在SQL Server级别审核用户?

是否已经内置方法来执行此操作?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:3)

相反,我总是发现Windows身份验证很容易设置并且相对无痛。以下是一些指南:

我没有意识到您可以审核用户在ASP.NET级别执行的操作。我的答案是使用SQL Server。您需要记录:

  • 每个操作的时间戳和用户名
  • 您是否需要记录执行操作的工作站或位置?
  • 用户可以转到mul
  • 如果多个位置使用此应用程序,请考虑仅存储UTC时间
  • 所有操作,甚至是删除操作,这意味着删除只会从用户“隐藏”,但永远不会从数据库中删除。对于编辑,新记录永远不应更改或从数据库中删除。

这里最好的选择是与老板谈谈这个问题。审计师可以有非常具体的需求,你绝对不想忘记任何事情。每种情况都不同,所以一定要坐下来仔细检查所有要求和规格。

答案 1 :(得分:2)

两件事:

  1. 这是关于asp.net app上的Win auth的示例:
  2. http://weblogs.asp.net/scottgu/archive/2006/07/12/Recipe_3A00_-Enabling-Windows-Authentication-within-an-Intranet-ASP.NET-Web-application.aspx

    1. 我建议您实现log4net之类的日志框架来记录您的应用程序。它简单易用http://logging.apache.org/log4net/download.html

答案 2 :(得分:1)

我会从应用程序中做到这一点,如果它是重要的人们如何访问数据与WHO一样多,但这与rlb.usa的答案完全不同。在我过去的工作中,知道哪个人更改数据的应用程序与何时/谁一样重要。如果它主要用于应用程序问题,log4net是一个不错的选择。