搜索过很多答案,基本都是类似这样的方式:
在登录窗体输入用户名和密码,用sql语句(adoquery)查询该用户,比较密码是否正确
查询之前已经建立了数据库连接,比如用adoconnection,问题是adoconnection的连接属性如何设置,通常的话adoconnection的连接中已经指定了连接的用户名和密码,如果密码发生变化的话,程序运行就会无法连接。
我见过一个系统,一直想不出它是怎么设计的登录,整个的表现如下:
1.sqlserver上有一个属性为该数据库的dbowner的用户admin
2.每次增加系统用户,都会在sqlserver上增加一个同名的只读用户(如A1)和以用户名+#结尾的只读用户(A1#),我看过了这两个用户的属性,均对数据库为public角色,对服务器无任何角色。
3.每次用户A1登陆时在事件探测器中看到实际是以A1#连接的
4.无论如何更改admin的密码,A1用户登陆后,始终可以正常更改或操作数据库。
5.如果去除admin用户的dbowner角色,则其他用户就无法更改数据。各位大哥分析一下,他这是如何实现的.
在登录窗体输入用户名和密码,用sql语句(adoquery)查询该用户,比较密码是否正确
查询之前已经建立了数据库连接,比如用adoconnection,问题是adoconnection的连接属性如何设置,通常的话adoconnection的连接中已经指定了连接的用户名和密码,如果密码发生变化的话,程序运行就会无法连接。
我见过一个系统,一直想不出它是怎么设计的登录,整个的表现如下:
1.sqlserver上有一个属性为该数据库的dbowner的用户admin
2.每次增加系统用户,都会在sqlserver上增加一个同名的只读用户(如A1)和以用户名+#结尾的只读用户(A1#),我看过了这两个用户的属性,均对数据库为public角色,对服务器无任何角色。
3.每次用户A1登陆时在事件探测器中看到实际是以A1#连接的
4.无论如何更改admin的密码,A1用户登陆后,始终可以正常更改或操作数据库。
5.如果去除admin用户的dbowner角色,则其他用户就无法更改数据。各位大哥分析一下,他这是如何实现的.
解决方案 »
- delphi代码中使用adoquery.prepared;会引发数据库引挚错误?
- 急!!!!!如何用Delphi读取网络上的文本文件?
- 服务器: 消息 8501,级别 16,状态 3,行 1 服务器 'SERVER' 上的 MSDTC 不可用。是何意??MSDTC是什么东西??
- 终于找到理由散分了。
- 关于DLL
- 需要开发MIS系统应该使用什么开发环境
- 高手,进程、线程、模块(dll文件)它们有什么区别??、在线等待!
- 问个菜问题,DELPHI5,6中的一个函数
- TListView 的OnClick 问题。
- 如何使 stringgrid中的某一cell无效,而其他cell仍可选中?
- form窗体图标如何去掉?
- 大家帮忙看看,socket通信的问题,
你试过更改sqlserver的sa密码吗,修改它后,是否仍然可以与数据库连接,是否可以正常操作?
我现在用的这个系统,无论怎么改密码,一直是可以正常运行的。
SQL SERVER账号的密码更改后若在登录SQL SERVER时必须使用更改后的账号和密码连接,才能操作数据库吧?
应用程序必需使用SQL SERVER里的账号连接,才可以操作数据库,这个应该是基本要求吧?我所知道的两种方法:
1. SQL SERVER上建立固定账号,指定操作数据库的权限;在应用程序中使用此账号连接,用用户表保存使用者清单。
---------------------影响:指定账号变更,即使用应用系统的用户正确仍无法登录及操作。
2. 应用程序直接使用SQL SERVER账号认证,连接数据库,根据指定的权限操作。
---------------------影响:指定账号变更,直接使用变更后的账号登录即可进行相应操作。3. 等待补充