.NET 数据访问架构指南5

时间:2010-02-01 10:02:14  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:作增加一个参数,通过这个参数就可以传递用户身份,手工将用户活动记入数据库。        使用Windows 认证        在链接到SQL Server时,应当使用Windows认证,因为它提供了许多优点:   安全性易于管理,因为使用了单一(Windows)安全模型而不是分散的SQL Server安全模型。   
  正文:管理安全
  
    尽管数据库链接池化提高了应用程序的整体扩展性,这也意味着你不再能够在数据库端管理安全性。这是因为为了支持链接池化,链接字符串必须是相同的。如果需要跟踪每个用户的数据库操作,那么考虑为每个操作增加一个参数,通过这个参数就可以传递用户身份,手工将用户活动记入数据库。
  
    使用Windows 认证
  
    在链接到SQL Server时,应当使用Windows认证,因为它提供了许多优点:
  安全性易于管理,因为使用了单一(Windows)安全模型而不是分散的SQL Server安全模型。
  
  
  避免了在链接字符串中嵌入用户名和密码。
  
  
  用户名和密码不是以明文方式在网络中传输的。
  
  
  通过密码过期期限,最小长度,多次无效登录请求后帐号锁定提高了登录的安全性。
  
  性能
  
  .netBeta 2版的性能测试表明,使用Windows认证与使用SQL Server认证相比,要花费更多的时间才能打开池化的数据库链接。然而,尽管Windows认证的成本较高,但与执行一个命令或存储过程所花费的时间相比,其(引起的)性能损失相对来说并不重要。结果,上面所列出的Windows认证的优点通常会稍微超过性能损失。
  
  同样,当打开一个池化链接时,在.NET框架的RTM版本中,Windows认证与SQL Server认证的差别有望变得更不明显。
  
    避免在中间层中冒充
  
    Windows认证需要访问数据库的Windows帐号。虽然看上去在中间层中使用冒充更符合逻辑,但必须避免这样做,因为损害链接池化并对应用程序的扩展性产生严重影响。
  
    为了解决这个问题,考虑对有限的Windows帐号(而不是被认证的负责人)实施冒充,每个帐号代表一个特定的角色。
  
    例如,可以考虑下面的方法:
  创建两个Windows帐号,一个用于读操作,一个用于写操作(也可以用单独的帐号映射针对特定应用程序的角色。例如,可以为互联网用户使用一个帐号,而为内部操作员和/或管理员使用另外的帐号)。
  
  
  将每个帐号映射到一个SQL Server数据库角色,然后为每个角色设置所需的数据库权限。
  
  
  在数据访问层中使用应用程序逻辑确定执行数据库操作时,哪个Windows帐号需要冒充。
    注意 每个帐号必须是同一域或信任域中在Internet信息服务(IIS)和SQL Server中存在的域帐号;也可以是在每台计算机上创建(具有相同用户名和密码)的匹配帐号。
  
    为网络库使用TCP/IP
  
    SQL Server 7.0及其以后版本支持用于所有网络库的Windows认证。使用TCP/IP可以获得配置、性能及扩展性优点。关于使用TCP/IP的更多信息,见本文通过防火墙建立链接一节。
  
    存储链接字符串
  
    有多种方法可存储链接字符串,每种方法具有不同程度的灵活性和安全性。尽管在源代码中对字符串进行硬编码提供了最优性能,但文件系统缓存确保了与在文凭系统外部存储字符串相关的性能损失可被忽略。实际上外部链接字符串(允许管理员进行配置)所提供的附加灵活性在任何情况下都是受欢迎的。
  
    选择存储链接字符串的方法时,首先要考虑的两个重要因素是配置的安全性与简易性,其次是性能。
  
    可以选择将数据库链接字符串存储在下列位置:
  应用程序配置文件 例如用于ASP/ target=_blank class=infotextkey>asp.NET Web应用程序的Web.config文件。
  
  
  通用数据链接文件(UDL) (只被OLE DB .NET 数据供应器所支持)
  
  
  Windows 注册表
  
  
  定制文件
  
  
  COM+ 目录,通过过使用构造字符串(只用于服务组件)
    使用Windows认证访问SQL Server,就可以避免在链接字符串存储用户名和密码。如果 安全需求要求更严格的方式,那么就考虑以加密格式存储链接字符串。
  
    对于ASP.NET Web应用程序,以加密格式将链接字符串存储在Web.config文件中是一种安全而可配置的解决方案。

.NET 数据访问架构指南5》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/12689.html


关键字:

关于《.NET 数据访问架构指南5》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td