助けてください。ASP.NET の RoleManager で暗号化された ConnectionString を使用する方法がわかりません。これは 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>
プロジェクトでは、Web構成を読み取るライブラリを作成します
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;"/>
しかし、接続文字列を暗号化したいので、使用します
<add name="strConnectionString" connectionString="eF8w9r2UJOsk0Ps3pxmV7/Fy/xPR2hN2S7BrC1iOYNnAUaI8AqkSm5bw7r+ta4sePWSV9t/3Spnpz6wsFpvMmcppNpqM5Zk7iiDqWVgIV4k="/>
したがって、Webサイトを実行するとエラーがスローされます:
System.ArgumentException:Keyword not supported: 'eF8w9r2UJOsk0Ps3pxmV7/Fy/xPR2hN2S7BrC1iOYNnAUaI8AqkSm5bw7r+ta4sePWSV9t/3Spnpz6wsFpvMmcppNpqM5Zk7iiDqWVgIV4k='.
Line 46: string[] roleNames;
Line 47: roleNames = Roles.GetAllRoles();
誰かがそれを見つけるのを手伝ってくれますか、それとも何か提案がありますか?