【发布时间】:2012-10-10 19:13:09
【问题描述】:
请帮忙,我不知道如何在 ASP.NET 中将加密的 ConnectionString 与 RoleManager 一起使用 这是 Web.config 中的代码。
<connectionStrings>
<add name="strConnectionString" connectionString="eF8w9r2UJOsk0Ps3pxmV7/Fy/xPR2hN2S7BrC1iOYNnAUaI8AqkSm5bw7r+ta4sePWSV9t/3Spnpz6wsFpvMmcppNpqM5Zk7iiDqWVgIV4k="/>
</connectionStrings>
<roleManager enabled="true" defaultProvider="CustomizedRoleProvider">
<providers>
<add connectionStringName="strConnectionString" name="CustomizedRoleProvider" type="System.Web.Security.SqlRoleProvider" />
</providers>
</roleManager>
<membership defaultProvider="CustomizedMembershipProvider">
<providers>
<add connectionStringName="strConnectionString" name="CustomizedMembershipProvider" type="System.Web.Security.SqlMembershipProvider"/>
</providers>
</membership>
在项目中我创建了一个库来读取网络配置
private const string ConnectionStringKey = "strConnectionString";
private readonly string SQLConnectionString =
Security.DecryptString(ConfigurationManager.ConnectionStrings[ConnectionStringKey].ConnectionString);
如果我像这样更改我的 ConnectionString,它正在工作:
<add name="strConnectionString" connectionString="server=My-PC\\MSSQL2008; database=MyDB; uid=sa; pwd=passw0rd;"/>
但我希望我的 ConnectionString 加密所以我使用
<add name="strConnectionString" connectionString="eF8w9r2UJOsk0Ps3pxmV7/Fy/xPR2hN2S7BrC1iOYNnAUaI8AqkSm5bw7r+ta4sePWSV9t/3Spnpz6wsFpvMmcppNpqM5Zk7iiDqWVgIV4k="/>
所以当我运行网站时它会抛出错误:
System.ArgumentException:Keyword not supported: 'eF8w9r2UJOsk0Ps3pxmV7/Fy/xPR2hN2S7BrC1iOYNnAUaI8AqkSm5bw7r+ta4sePWSV9t/3Spnpz6wsFpvMmcppNpqM5Zk7iiDqWVgIV4k='.
Line 46: string[] roleNames;
Line 47: roleNames = Roles.GetAllRoles();
有人帮我找出来或有什么建议吗?
【问题讨论】:
-
对不起,您可能不明白我的问题,我不谈论如何加密 ConnectionString 或将 Membership Provider 添加到现有数据库。我的问题是如何将 Encrypted ConnectionString 与 RoleManager 一起使用。你以前试过吗?
-
我没有但不认为“connectionstring”可以有那种格式/语法。
-
:) 在帮助他人之前,您应该了解更多信息
标签: asp.net encryption web-config