旧话重提:关于cs结构中用户验证。

shanminmin 2004-03-17 12:05:56
在c/s结构中,连接远程的Sql Server时大家都使用什么样的验证方式?
我现在使用sql server的用户验证进行了,但是有这么一个问题,用户可能会自己使用自己的用户名、密码连接到sql server上修改数据(这样的用户可能会存在),当然我们可以使用权线来限制某个用户能察看或修改某个表或者某个列,但是用户还是可以进行修改的,有没有其他的方式杜绝这种情况?
...全文
73 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanminmin 2004-04-05
  • 打赏
  • 举报
回复
up
shanminmin 2004-03-31
  • 打赏
  • 举报
回复
com+的话,那么数据库结构更改了,其他的都得改呀。
Smartdoggie 2004-03-21
  • 打赏
  • 举报
回复
关注!!
graying 2004-03-21
  • 打赏
  • 举报
回复
数据库和程序不在一台服务器上面,内连,应用程序服务器和国际互联网外连,所以外面的客户只能通过程序访问数据库,不就解决了?
RiskUO 2004-03-21
  • 打赏
  • 举报
回复
加中间层处理用户权限和登录问题,应该是最方便的了。
通过中间层获取数据库的连接。

以前我是用VB写COM+处理的,现在用.net更容易了。
shanminmin 2004-03-21
  • 打赏
  • 举报
回复
up
shanminmin 2004-03-19
  • 打赏
  • 举报
回复
whhdgy(依依) 使用webservice的方式已经被否决的,因为做一个webservice加上维护,很浪费时间。
shanminmin 2004-03-19
  • 打赏
  • 举报
回复
songhtao(三十年孤独) 您说得这种形式只是用于b/s结构的程序。
lhx1977(清水无鱼) 我也有此想法,想来想去也只有这种方式了。但是另外的问题是,我使用的另外一个模块早已经做好了,而且咱们没有源代码,我没法改:(
李洪喜 2004-03-19
  • 打赏
  • 举报
回复
可以把用户的密码加密,就可以了,这样用户直接连接到SQL SERVER时再使用登录密码,就连接不上了。
尤其是在PB的程序中,多采用这样的方法。
我不懂电脑 2004-03-19
  • 打赏
  • 举报
回复
在数据库上建密码表,要求用户登陆输密码,就像csdn网站一样。
superryu 2004-03-19
  • 打赏
  • 举报
回复
学习学习
Reeezak 2004-03-18
  • 打赏
  • 举报
回复
to 楼主
我对的第一个办法跟他的办法差不多。但是你看见第二个办法了吗?那个办法不同了吧?

还有,第一个办法,我觉得是你自己的业务逻辑的问题。因为那要看你客户到底是干什么的?为什么访问数据。

对一个办法还有一个改进,就是自己建一个ConnectionBuilder类,做成webservice,当客户访问是,先去调用webservice,然后由webservice调用ConnectionBuilder,最后返回一个连接字符串给用户。这样,你想什么时候改密码就什么时候改密码。不需要更改客户端。不过,对于安全性,就要考虑考虑了。可以返回一个dataadapter对象给他。^_^
Jinniu 2004-03-18
  • 打赏
  • 举报
回复
就用登陆/验证的方式三!简单,好用!
qqqdong 2004-03-18
  • 打赏
  • 举报
回复
to 楼主

我做的系统就是采用的我的方式,而且数据库的用户的密码连我这个管理员都不知道,是加密自动生成的

qqqdong 2004-03-18
  • 打赏
  • 举报
回复
to 楼主

我做的系统就是采用的我的方式,而且数据库的用户连我这个管理员都不知道,是加密自动生成的
hertcloud 2004-03-18
  • 打赏
  • 举报
回复
关注!
whhdgy 2004-03-18
  • 打赏
  • 举报
回复
我认为c/s中你可以利用webservice层来隔开程序和数据库服务器的联系,只有web服务器上保持数据库密码,同时这个密码是系统加密过的(在建立于数据库的连接时,该密码要解密)。就算是web服务器的管理员也是无法直接登陆数据库服务器的
shanminmin 2004-03-18
  • 打赏
  • 举报
回复
qqqdong()
您这种办法,假如用户在服务器上更改了您使用的用户的密码.那所有的客户端岂不是都不能使用了?

另外,我这边sql server中有一个历史纪录,这个历史纪录是使用触发器生成的,这时候我得记录谁触发的这个事件,所以不能使用一个用户名进行登录。

在说,如果使用一直使用一个用户名进行登录的话,sql server中的安全性就没有什么安全性所言了,你使用的那个用户的密码就是一切.如果都这样的话,那数据库根本就没有必要设置什么用户/角色了,难道microsoft没事干做这些没用的东西?

可能我现在思路走到了误区,没办法。:)
qqqdong 2004-03-17
  • 打赏
  • 举报
回复
将用户级的验证放在数据库中,在程序上和数据库的连接不要让用户看见,也就是用户不知道数据库上的用户名称和密码
dabai1980 2004-03-17
  • 打赏
  • 举报
回复
在中间加一层,不让用户直接访问数据库~!!在.NET下很容易实现~~~
加载更多回复(6)

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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