zoukankan      html  css  js  c++  java
  • 对于数据库密连接字符串里密码的保护与程序开发方便性的解决办法

    一、连接字符串的产生。连接字符串使用一个全局的静态类负责生产连接字符串。连接字符串的组成由webconfig里connectionstring+用户密码信息。

    二、程序里的连接字符串引用全局静态类实现。无论使用强类型Dataset还是Sql操作类,在操作前首先将连接字符串修修为全局静态类里的连接字符串。

    三、数据组件的连接字符串。类似于Dataset这类强类型数据组件,在开发阶段使用Connectionstring里的连接字符串。开发简单Connectionstring里的连接字符串保留用户与密码信息。在发布部署后手动删除Connectionstring中的用户与密码信息。程序运行时因为都重新引用了全局静态类的字符串而不受影响。

    这么搞的好处在于:

    1)不影响为了保护连接字符串中的用户与密码信息,Dataset之类的预览数据的操作。

    2)连接字符串中的数据库服务器地址可以任意更改,方便部署。

    3)有效保护数据库服务器的用户名密码信息。

    缺点:

    1)因为无表结构的强类型的无法修改连接字符串到全局静态类中。不带表结构的存储过程封装的操作类,因为其Adapter类没有单独强类型封装而是被隐藏在强类型类里面私有字段。

    2)数据库的用户名密码必须固化好。一旦修改数据库用户与密码信息后必须修改程序后重新部署网站。

  • 相关阅读:
    Extension Methods (C# Programming Guide)
    ArraySegment
    git config
    0.0.0.0 IPAddress.Any 【】127.0.0.1 IPAddress.Loopback 【】localhost
    public static float CompareExchange(ref float location1,float value,float comparand)
    ConcurrentDictionary中的 TryRemove
    enum类型
    Array.Copy vs Buffer.BlockCopy
    伴随待字闺中的生命周期分析
    Twitter实时搜索系统EarlyBird
  • 原文地址:https://www.cnblogs.com/edzjx/p/1825093.html
Copyright © 2011-2022 走看看