【发布时间】:2023-03-28 04:30:01
【问题描述】:
我正在为房地产机构开发 CMS 解决方案。 所以不同的用户/组将使用相同的工具。
我创建了 1 个 asp.net 会员数据库,我在其中管理所有用户。 用户按不同的角色分组。(1 个角色 = 1 个代理机构)
然后 - 对于每个组,我都有另一个数据库。在这个数据库中,我管理给定办公室的不动产和客户。 (这些数据库具有相同的结构。)
目前我正在使用“自定义 ASP.NET 配置文件类”来存储特定数据库的连接字符串。如果用户登录,我会创建此自定义配置文件。
现在我遇到了问题,如果匿名用户正在访问该页面(有一个公共部分),我会收到连接字符串错误,因为没有“自定义配置文件”,我的函数可以读取连接字符串
我的自定义配置文件类如下所示: 公共类用户配置文件 继承 ProfileBase 公共共享函数 GetUserProfile(username As String) As UserProfile 返回 TryCast(创建(用户名),用户配置文件) 结束函数
Public Shared Function GetUserProfile() As UserProfile
Return TryCast(Create(Membership.GetUser().UserName), UserProfile)
End Function
<SettingsAllowAnonymous(False)> _
Public Property role() As String
Get
Return TryCast(MyBase.Item("role"), String)
End Get
Set(value As String)
MyBase.Item("role") = value
End Set
End Property
<SettingsAllowAnonymous(False)> _
Public Property UsersCustomConnectionString() As String
Get
Return TryCast(MyBase.Item("UsersCustomConnectionString"), String)
End Get
Set(value As String)
MyBase.Item("UsersCustomConnectionString") = value
End Set
End Property
End Class
然后我可以像这样读取我的连接字符串
Dim currentprofile As UserProfile = UserProfile.GetUserProfile()
Dim strcon As String = currentprofile.UsersCustomConnectionString
我该如何解决这个问题? 还是我应该使用另一种方法来解决“许多连接字符串”问题?如果是,如何? (我认为会话变量不起作用)
提前致谢
【问题讨论】:
标签: asp.net database-connection asp.net-membership connection-string user-management