注册 登录
编程论坛 SQL Server论坛

登陆账号的归类

ppppooiiuu 发布于 2017-09-10 22:43, 2656 次点击
请教如果我开发一个软件,这软件需要SQL Server,每个人都可以注册账号,我应该如何归类这些账号呢?
是该把账号和密码存在表格中,还是新建登录名(就像SA登录名)
9 回复
#2
mywisdom882017-09-11 00:01
一般分2个,
1个是登陆SQL数据库的帐号,类似 SA 的用户,
1个是登陆系统的帐号,如 1001,张三,1002,李四,这个帐号,可以设置权限
#3
ppppooiiuu2017-09-11 09:25
回复 2楼 mywisdom88
那我是不是要先分配一个类似SA的账号,在软件里通过这个账号登录服务器,因为封装在软件里,一般不会被破解才对吧,然后在数据库里建一个分配账号的表,如张三。。是这样子吗?
那类似SA的账号需要给什么样的权限呢?
#4
ZHRXJR2017-09-11 10:03
不是sa,sa是SQL Server数据库的登录账号,不是用户的登录账号,用户登录账号是存储在SQL Server数据库中的一个数据表中,例如存储在 “登录表” 中。
在 “登录表” 中设置几个字段,例如 用户名、密码、用户权限 等,用户登录仅仅检测这个数据表中的 用户名、密码、用户权限 与登录的用户信息是否一致即可。
用户权限可以有 管理员权限、一般用户权限 等等。
#5
ppppooiiuu2017-09-11 18:22
回复 4楼 ZHRXJR
嗯,谢谢。你这么说我明白了。
但是我们写程序的时候,要连接数据库也必须有一个类似于SA的登录名才能连接到服务器,类似于SA的登陆名应该给什么样的权限,把这个登录名和密码写在程序中,打包程序,安全吗?
#6
外部三电铃2017-09-11 23:28
回复 5楼 ppppooiiuu
打包在程序里不安全,明文写在配置文件里更不安全。一般来说,客户端程序直接连接数据库的,要么是单机版软件(数据库和客户端都在一个电脑上),要么是对内的客户端,不给客户用只给自己或内部人员用。

对外的客户端,像QQ这种,是肯定不能让它直接连数据库的,这就需要服务端提供api接口服务,客户端跟api通信,api再连接数据库。
#7
mywisdom882017-09-12 17:59
1.登录数据库的账号,其功能类似 SA,但一般不用SA,这账号,一般不写到软件上去.可以保存在本地的文件中,或者保存在注册表中,但不能用明码保存,自己写个加密程序保存.
2.用户表,也就是登录系统的账号,一般在SQL数据库中,有个表,里面是能使用这个系统的账号和权限,同样,密码也不是明码保存的.

#8
ZHRXJR2017-09-15 08:23
回复 5楼 ppppooiiuu
我认为在软件中直接使用代码连接 SQL Server 数据库是安全的,其原因有:
1、软件在编译是使用的是代码,编译过程中需要调试、修改,这时代码是透明的,但给别人使用大概均是生成的可执行文件*.exe,用户看不到代码的;
2、生成的*.exe文件只能运行,看不到代码的,即就是有人想反编译,是十分困难的,成功率几乎为0,因此看不到源代码的。
3、如果你不是编辑的exe文件,而是一个网站,对数据库的连接语句可以使用另外的网页连接数据库,在使用数据库连接的界面,调用这个连接数据库的网页,用户也不会看到连接数据库的语句的;
即就是用户打开查看源代码,这个源代码中也不会有连接数据库的语句,因此也是安全的;
除非用户进入你的网站后台,下载你的网页代码:那么这个就是你的服务器(一般是租用空间吧)的安全性问题了,现在一般的服务器估计安全性都比较好,除非黑客入侵。
#9
ppppooiiuu2017-09-15 13:22
回复 8楼 ZHRXJR
那我就是可以把连接数据库的用户编写在程序里,反正反编译也不一定能破解过去,是有考虑网络,但是网络确实担心黑客,所以目前就先考虑局域网。谢谢
#10
ppppooiiuu2017-09-15 13:23
回复 6楼 外部三电铃
就是生成EXE了还不安全吗?API不太懂
1