Membership API - нестандартная строка подключения
t0rch
Дата: 02.04.2010 17:00:55
Доброго времени суток, уважаемые!
Вопрос - хотим использовать Membership API, но не хотим хранить строку подключения в web.config. А он, насколько я понимаю, при использовании требует хранить подключение именно там.
Есть ли какие-нибудь другие варианты хранения строки подключения для Membership API?
Спасибо.
Зритель с попкорном 5
Дата: 02.04.2010 17:07:19
t0rch,
можно хранить строку подключения там где ей положено быть, а саму секцию connectionStrings из web.config шифровать встроенными средствами ASP.NET
МСУ
Дата: 02.04.2010 17:21:37
Напишите свой провайдер:
public class MyMembershipProvider : SqlMembershipProvider
{
public override void Initialize(string name, NameValueCollection config)
{
base.Initialize(name, config);
string connectionString = "...";
FieldInfo filed = GetType().BaseType.GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);
filed.SetValue(this, connectionString);
}
}<membership defaultProvider="MyMembershipProvider">
<providers>
<clear />
<add name="MyMembershipProvider"
type="MyNamespace.MyMembershipProvider, MyAssembly" ... />
</providers>
</membership>
t0rch
Дата: 07.04.2010 16:18:55
МСУ, в Вашем примере кода, переопределяется строка подключения, но, как я понял, это не исключает хранения какой-либо строки подключения в web.config, т.к. SqlMembershipProvider в методе Initialize работает со строкой подключения указанной в web.config.
Я не хочу указывать в web.config никаких строк подключения.
Получается Membership API это исключительно web-based решение?
E209
Дата: 07.04.2010 16:24:12
t0rch,
А в чем критичность хранения в web.config если вы свой провайдер реализуете? Не хотите имя и пароль подключения хранить - не храните.
МСУ
Дата: 07.04.2010 16:31:19
| t0rch |
| МСУ, в Вашем примере кода, переопределяется строка подключения, но, как я понял, это не исключает хранения какой-либо строки подключения в web.config, т.к. SqlMembershipProvider в методе Initialize работает со строкой подключения указанной в web.config. |
Чё? Какой web.config?
Где тут
FieldInfo filed = GetType().BaseType.GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);web.config?
| t0rch |
| Я не хочу указывать в web.config никаких строк подключения. |
А я что написал?
| t0rch |
| Получается Membership API это исключительно web-based решение? |
А по-русски?
t0rch
Дата: 07.04.2010 17:23:21
| МСУ |
Где тут
FieldInfo filed = GetType().BaseType.GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);
web.config? |
Тут никакого web.config нет. В Вашем коде переопределение идет уже после того как базовый метод считал ее из web.config. И не просто считал, а по переданному имени проверил ее там физическое наличие. Вот здесь:
| МСУ |
base.Initialize(name, config);
|
МСУ
Дата: 07.04.2010 17:36:46
t0rch, какая разница, что там провайдер в базовом Initialize делает, если Вы сами жестко определяете строку подключения в овверайде?
t0rch
Дата: 07.04.2010 17:48:23
Только в том, что в web.config все равно придется указывать какую-то левую строку подключения, чтобы скормить ее базовому Initialize.
МСУ
Дата: 07.04.2010 17:50:28
| t0rch |
| Только в том, что в web.config все равно придется указывать какую-то левую строку подключения, чтобы скормить ее базовому Initialize. |
Зачем что-то указывать в web.config?
P.S. Уаажаемый, может хватит сказки тут выдумывать? Может, возьмете, наконец, и протестируете код?