登录时分配连接字符串

时间:2014-05-26 04:48:32

标签: c# asp.net .net vb.net

我正在开发一个Web项目,该项目需要为每个不同的用户提供不同的连接字符串(因为每个用户都有自己的数据库)

我有一个master数据库,它将存储所有连接字符串所需的信息(例如,servername,UID,pwd,所有哈希的端口)

我正在寻找一种方法,在用户登录时将用户路由到他们自己的数据库。

我现在正在做的是有一个登录页面来检查用户登录凭证,如果有效登录,我将查询数据库并获取连接字符串中的相关信息和次数。然后将用户重定向到显示自己数据的默认页面。

连接字符串将存储在一个属性中(或者我应该称之为变量?),它可以在全局范围内访问。

一切正常。我只是想知道这里是否有人可以给我一个更好的建议/方法,将用户指向他们自己的数据库,我无法想到。 我想在全局范围内保存连接字符串是不够安全的。

图片在这里https://drive.google.com/file/d/0B78LCS4c8t4fbUp6UTFXTi1ib2M/edit?usp=sharing 感谢。

2 个答案:

答案 0 :(得分:0)

您可以将连接信息存储在Session对象中。当用户请求数据库连接检索该Session对象时,只有该连接可用于该用户的Session。使用此行为可避免全局范围不安全。并且可能为您的站点启用一些SSL安全性(https),而不是仅启用http

答案 1 :(得分:0)

让master数据库存储连接字符串,然后将用户重定向到自己的数据库没有问题。
当用户登录时,我们检查master数据库中的验证是否正常,然后获取该特定用户的连接字符串并将该连接字符串动态添加到web.config