征集关于数据库服务器登录名的密码修改

rongys 2009-01-06 03:14:42
现有的情况:记录版本号的表和客户端所用的表都存在同一个数据库中,用的是同一个登录名.用户每次登录系统,先比较数据库中和本地.ini文件的版本号,如果不同则根据情况从服务器上下载.exe和upgrade.exe,或者相关的报表等.
现在想修改数据库服务器登录名的密码,有什么好的思路没有?
谢谢!
...全文
277 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rongys 2009-01-09
  • 打赏
  • 举报
回复
谢谢Tiger_zhao,非常详细.
还有其它方法吗?
我想多找几种方法比较一下.
Tiger_Zhao 2009-01-08
  • 打赏
  • 举报
回复
关键是最新 ini 在哪里生成,生成的时候需要数据库的用户名、密码,来读取记录版本号的表。
可以将该程序独立出来。

管理员的操作流程:
(可选)修改数据库用户、密码。
(可选)发布最新的程序到服务器。
(可选)修改记录版本号的表中信息。
运行ini生成程序,界面上输入最新的用户、密码,程序生成 ini 文件。
发布 ini 文件到服务器。

客户端Update.exe 流程:
始终下载最新 ini(这就不需要连接数据库了)。
新旧 ini 比较,如果版本变化,执行程序下载。
始终用新 ini 替换旧 ini (对应版本不变但是用户、密码变化)。
运行主程序。

主程序流程:
读取最新的(已被替换的) ini,用 ini 里面的用户、密码进行登录。
执行常规操作。
Tiger_Zhao 2009-01-07
  • 打赏
  • 举报
回复
至少要建两个数据库用户:
一个用户名密码固定,只能访问一个配置表,用来生成 ini 文件。
还有一个用户、密码随意,可以访问所有的数据表;但是该用户、密码修改后必须将相关的信息写入配置表。

Update.exe 流程:
用固定的第一个用户、密码登录,按配置表生成 ini。
新旧 ini 比较,如果版本变化,执行下载。
始终用新 ini 替换旧 ini (对应版本不变但是用户、密码变化)。
运行主程序。

主程序流程:
读取最新的 ini,用 ini 里面的用户、密码进行登录。
执行常规操作。
rongys 2009-01-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 uself 的回复:]
不一定要用户名和密码才能下载呀,用验证码不行吗?
只要口令符合你的规则,就允许下载更新文件.
[/Quote]

其实是通知数据库的用户名和密码从数据库中获得当前的版本号和本地ini文件比较,如果有变化才下载。
下载的时候并不需要用户名和密码。
rongys 2009-01-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 AisaC 的回复:]
用户名和密码不会是写死到代码里的吧 - - 加密也是传输的随机字串才对啊
为啥会这么费劲呢 - - 没明白
[/Quote]

之前的代码是这样写的。
可以说说你的具体思路吗?不是很明白,谢谢。
rongys 2009-01-07
  • 打赏
  • 举报
回复
现在的情况:当前系统中记录版本号的表和其它表都存在同一个数据库中,用的是同一个登录名.用户每次登录系统,先读取数据库中的版本号和本地.ini文件的版本号进行比较,如果不同则根据情况从服务器上下载相应的.exe和upgrade.exe,或者相关的报表等.
现在想修改数据库服务器登录名的密码,如果直接在数据库中修改了密码,客户端登录先要与数据库连接读取版本号,而此时数据库密码已经修改,无法正常获取到数据库表中的版本号.
其实发帖子的目的也是想问修改了密码以后,系统如何升级?应该如何架构系统的升级模块?具体是什么思路.比如说瑞星是怎么升级的?因为数据库密码肯定是要经常修改的.不知道我说清楚了没有.
欢迎大家多多发表自己的看法.只要回复肯定有分.谢谢!
Tiger_Zhao 2009-01-07
  • 打赏
  • 举报
回复
不用讨论你程序流程。
你的目的是什么?实现该目的的难点在哪里?
杨哥儿 2009-01-07
  • 打赏
  • 举报
回复
不一定要用户名和密码才能下载呀,用验证码不行吗?
只要口令符合你的规则,就允许下载更新文件.
神马都能聊 2009-01-07
  • 打赏
  • 举报
回复
用户名和密码不会是写死到代码里的吧 - - 加密也是传输的随机字串才对啊
为啥会这么费劲呢 - - 没明白
rongys 2009-01-06
  • 打赏
  • 举报
回复
谢谢楼上的。可能我没有说清楚,先举个例子吧。
每次修改密码以后在服务器端生成一个ini文件,客户端也放一个ini文件,模仿当前C/S的升级模式,假设此ini文件为 a.in,原有的为b.ini,比较a.ini,版本号不同,则启动升级,无条件从网上下载.exe和upgrade.exe;若a.ini版本号相同,则按原来规则执行比较b.ini;(此处应该可以进行部分合并)
优点:客户端无从破解密码,安全性比较好;维护也比较简便,明了;
缺点:对现有模式改动比较大,要么要新做upgrade.exe,要么更改原有upgrade,且upgrade不应再与数据库相关联;
Tiger_Zhao 2009-01-06
  • 打赏
  • 举报
回复
是 SQL Server 吧。
打开企业管理器,到 安全性\登录 下新建登录。
到 <数据库>\用户 下新建数据库用户,选刚才的登录用户,确定。
打开数据库用户的属性,点击权限按钮,里面可以设置具体到每个表的访问权限。

按照这种步骤可以给不同的用户分配不同的表的访问权限。
rongys 2009-01-06
  • 打赏
  • 举报
回复
自己顶一下.

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧