我用sqlserver2000做为后台数据库,在做用户登陆这一块的时候我觉得我的想法有问题:请可谓高手相救!!!!
我的想法:建一个用于表,保存用户名,密码,权限
用户登陆的时候就查询这张表,来确定用户的权限
但现在的问题是:在连接sql数据库的时候,本来就会让我们输入一个用户名和密码(比如:sa及密码),当然可以把这个对话框关了,那就会出现登陆到数据库要知道两个用户名和密码,第一个必须能登陆到数据库(就是用ADOConnect连接的时候用的sa及密码),第二个是我建的表中的用户名和密码
我觉得我的这种做法根本就不能作到对用户进行管理
请高手门提供好的做法?不胜感激!!!

解决方案 »

  1.   

    连接数据库的密码写在程序中或者写在.ini文件中(当然可以对密码进行适当的加密),用户登录的用户名及密码存放在数据库的某张表中。不管用户的权限是什么,你总得让用户能够连接到数据库才能取出自己的权限吧,不是吗?
      

  2.   

    还要在SQL SERVER中设置必要的权限。
      

  3.   

    to IEFTmOON:
       是这样的,但我觉得把连接数据库的密码写在.ini文件中或写在注册表中都不是很安全,但自己又想不出什么好办法to suiyuxing:
       是一个财务方面的系统,当然要设定用户权限了
      

  4.   

    添加ADOConnection控件,设置属性:ConnectionString...Use ConnectionString build
    提供者:选择合适的驱动;连接:选择数据源,输入用户名和密码(sql2000的用户),选择允许保存密码,测试连接。如果成功,确定。
    再设置 LoginPrompt=false,ok。
      

  5.   

    其实时可以的 在SQL SERVER 中你可以再建一个用户 这个用户只给它分配的权限只能SELECT你的用户表, 在你开发系统时 你又一个ADOQUERY组件来连接数据库,这个组件不用ADOCONNETION连接,而是单独连接,当用户点击登陆时,如果用户在你的用户表中,在代码中
    就可以用以下代码:
       ADOCONNECTION。CONNECTED:=TRUE;
    在ADOCONNETION的CONNECTIONSTRING中用另一个用户登陆SQL SERVER,这个用户有所有权限
    比如INSERT UPDATE SELECT 等