当前位置:编程学习 > C#/ASP.NET >>

web项目能否实现多个实例?不同的客户访问不同的数据库?

我的项目是web方式的,但客户的数据比较敏感,不愿意把数据交给我们来管理,他们想自己配置sql数据库,即他们自己维护及管理数据库,比如客户A在使用web程序时连接访问客户A自己的数据库,比如客户B在使用web程序时连接访问客户B自己的数据库...   这样他们才会感觉安全些,这样的话,web中如何实现呢?

请各位给些建议,在线等待,先谢过了 --------------------编程问答-------------------- 添加用户的时候,配置web.config,不同的用户对应不同的连接字符串, --------------------编程问答-------------------- to楼上的,能具体说说么,如果有很多的客户,每一个客户都有他们自己的数据库的情况下,web.config 配置还行么? --------------------编程问答-------------------- 楼上说的也可以。
用户登录的时候从一个整体数据库中返回用户数据库ID

然后加载数据的时候把连接字符串从WEB.CONFIG中取出来。这样感觉比较麻烦

还不如直接从数据库中把登录用户的连接字符串取出来。然后直接创建连接。 --------------------编程问答-------------------- 我说的这个数据库是初始的数据库 也就是总数据库 这个要建立在非常多的数据库

如果用户很少。那就是在WEB.CONFIG中配吧 --------------------编程问答-------------------- 只要你愿意有N个客户就建N个数据库,那有什么不可以的呢. --------------------编程问答-------------------- 何必这样了  你思路都错了 这样多麻烦啊   还是给建立权限 多好 --------------------编程问答-------------------- 客户这么变态的要求,那就这么变态的实现呗,再说也没有什么不好的。和所有的用户使用同一个数据库道理不都是一样的嘛。 --------------------编程问答-------------------- 一个公共库,保存用户表等其他公用东东,连接字串直接存到用户表里.

验证通过之后,使用新的连接字符串连接数据库,不放心的话还可以加上很多密 --------------------编程问答-------------------- 不知道我的问题表达清楚没有

我的项目是一个在线的进销存及财务系统,比如客户A在登录我的网站时,需要登录验证及检测客户A的帐户状态(这个时候连接的数据库是我自己网站的数据),在验证通过之后,通过什么样的方案或什么配置来实现,将web程序重新创建连接到客户A数据库? 也就是说我自己的数据只是对客户进行验证,而客户A在使用在线的进销存及财务系统的过程中,所有的数据都是保存在客户A数据库中...同理,客户B在使用在线的进销存及财务系统时,数据也是保存在客户B数据中...客户A数据,客户B数据...来自不同地区的远程的sql数据库... --------------------编程问答-------------------- --------------------编程问答--------------------
引用 9 楼 friendwei 的回复:
不知道我的问题表达清楚没有

我的项目是一个在线的进销存及财务系统,比如客户A在登录我的网站时,需要登录验证及检测客户A的帐户状态(这个时候连接的数据库是我自己网站的数据),在验证通过之后,通过什么样的方案或什么配置来实现,将web程序重新创建连接到客户A数据库? 也就是说我自己的数据只是对客户进行验证,而客户A在使用在线的进销存及财务系统的过程中,所有的数据都是保存在客户A数据库中...同……


这个问题跟我上面说的差不多。 
用户登录后一个总的数据库是你的。然后你的数据库里存的用户信息。比如
ID NAME PWD SQLCONNECTIONSTR
1  USER 123  连接字符串


登录验证成功后 给他个延迟,在这个时间段里,你可以把用户的连接字符串取出来,然后替换原来的连接字符串
连接成功后  跳转到主页面。。 --------------------编程问答-------------------- 楼上的,有这样实践过么?我自己没试过不知道是否可行 --------------------编程问答--------------------
引用 12 楼 friendwei 的回复:
楼上的,有这样实践过么?我自己没试过不知道是否可行


你不试下怎么知道行不行呢?
办法是人想出来滴。。。不行再说!先试下。 --------------------编程问答--------------------
引用楼主 friendwei 的回复:
我的项目是web方式的,但客户的数据比较敏感,不愿意把数据交给我们来管理,他们想自己配置sql数据库,即他们自己维护及管理数据库,比如客户A在使用web程序时连接访问客户A自己的数据库,比如客户B在使用web程序时连接访问客户B自己的数据库...   这样他们才会感觉安全些,这样的话,web中如何实现呢?

请各位给些建议,在线等待,先谢过了


不知道你的程序是怎么写的。比如说你原来写
using(var conn= SqlConnectionStr)
{
....
}

那么你改成
using(var conn= GetSqlConnectionStr())
{
....
}

这就行了!在函数GetSqlConnectionStr()中根据当前用户,返回不同的字符串。 --------------------编程问答-------------------- 客户“自己维护和管理数据库”这纯粹是自我安慰,连接数据库的方法都失去保密了(你的程序随意更新数据),出了问题能说明是谁的责任?
--------------------编程问答-------------------- 呵呵,所谓“远程sql数据库”,呵呵,只要可以远程连接,以现在程序员所惯常地那种访问数据库权限方式,那么这种"远程"其实就是等着任人宰割的肉鸡。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,