Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net Security (http://www.velocityreviews.com/forums/f62-asp-net-security.html)
-   -   Getting attributs for membership provider from web.config (http://www.velocityreviews.com/forums/t767926-getting-attributs-for-membership-provider-from-web-config.html)

news.microsoft.com 10-12-2005 08:22 AM

Getting attributs for membership provider from web.config
 
How can get the values of for example RequiresUniqueEmail from my own
membershipprovider? Using is
System.Web.Security.Membership.RequiresQuestionAnd Answer; is not an option
because it will call the property from the membership provider.

<membership userIsOnlineTimeWindow="15"
defaultProvider="MembershipProviderSample">
<providers>
<add name="MembershipProviderSample"
type="SecurityProviders.MembershipProviderSample" EnablePasswordReset="true"
EnablePasswordRetrieval="true" MaxInvalidPasswordAttempts="5"
MinRequiredNonAlphanumericCharacters="0"
MinRequiredPasswordLength="6"
MembershipPasswordFormat="Clear"
RequiresQuestionAndAnswer="true"
RequiresUniqueEmail="true"
PasswordStrengthRegularExpression="[0-9a-zA-Z]{6,12}$"/>
</providers>
</membership>



Dominick Baier [DevelopMentor] 10-12-2005 09:33 AM

Re: Getting attributs for membership provider from web.config
 
Hello news.microsoft.com,

the source looks like this (in the Membership class)

public static bool RequiresQuestionAndAnswer
{
get
{
Membership.Initialize();
return Membership.Provider.RequiresQuestionAndAnswer;
}
}

Initialize loads the configured default provider and assigns the instance
to the Provider property. So - they read the value from the currently loaded
provider implementation - which is your custom provider. You are responsible
in your provider to implement a Initialize method and read the values from
the NameValueCollection (to populate the properties).

so - your scenario should work.

you have to closely follow all the design pattern by microsoft - read more
here:
http://msdn.microsoft.com/asp.net/be...s/default.aspx

---------------------------------------
Dominick Baier - DevelopMentor
http://www.leastprivilege.com

> How can get the values of for example RequiresUniqueEmail from my own
> membershipprovider? Using is
> System.Web.Security.Membership.RequiresQuestionAnd Answer; is not an
> option because it will call the property from the membership provider.
>
> <membership userIsOnlineTimeWindow="15"
> defaultProvider="MembershipProviderSample">
> <providers>
> <add name="MembershipProviderSample"
> type="SecurityProviders.MembershipProviderSample"
> EnablePasswordReset="true"
> EnablePasswordRetrieval="true" MaxInvalidPasswordAttempts="5"
> MinRequiredNonAlphanumericCharacters="0"
> MinRequiredPasswordLength="6"
> MembershipPasswordFormat="Clear"
> RequiresQuestionAndAnswer="true"
> RequiresUniqueEmail="true"
> PasswordStrengthRegularExpression="[0-9a-zA-Z]{6,12}$"/>
> </providers>
> </membership>




Roel Veldhuizen 10-12-2005 10:09 AM

Re: Getting attributs for membership provider from web.config
 
There is no Membership.Initialize(); atleast not in asp.net 2 but i found a
function Initialize in System.Web.Security.Membership.Provider. The
parameter string name is clear thats te provider name but the other
parameter is what i don't understand.
public virtual void Initialize (
string name,
NameValueCollection config
)"Dominick Baier [DevelopMentor]" <dbaier@pleasepleasenospamdevelop.com>
wrote in message news:42565460108bcf8c79d37e56e11c8@news.microsoft. com...
> Hello news.microsoft.com,
>
> the source looks like this (in the Membership class)
>
> public static bool RequiresQuestionAndAnswer
> {
> get
> {
> Membership.Initialize();
> return Membership.Provider.RequiresQuestionAndAnswer;
> }
> }
>
> Initialize loads the configured default provider and assigns the instance
> to the Provider property. So - they read the value from the currently
> loaded provider implementation - which is your custom provider. You are
> responsible in your provider to implement a Initialize method and read the
> values from the NameValueCollection (to populate the properties).
>
> so - your scenario should work.
>
> you have to closely follow all the design pattern by microsoft - read more
> here:
> http://msdn.microsoft.com/asp.net/be...s/default.aspx
>
> ---------------------------------------
> Dominick Baier - DevelopMentor
> http://www.leastprivilege.com
>
>> How can get the values of for example RequiresUniqueEmail from my own
>> membershipprovider? Using is
>> System.Web.Security.Membership.RequiresQuestionAnd Answer; is not an
>> option because it will call the property from the membership provider.
>>
>> <membership userIsOnlineTimeWindow="15"
>> defaultProvider="MembershipProviderSample">
>> <providers>
>> <add name="MembershipProviderSample"
>> type="SecurityProviders.MembershipProviderSample"
>> EnablePasswordReset="true"
>> EnablePasswordRetrieval="true" MaxInvalidPasswordAttempts="5"
>> MinRequiredNonAlphanumericCharacters="0"
>> MinRequiredPasswordLength="6"
>> MembershipPasswordFormat="Clear"
>> RequiresQuestionAndAnswer="true"
>> RequiresUniqueEmail="true"
>> PasswordStrengthRegularExpression="[0-9a-zA-Z]{6,12}$"/>
>> </providers>
>> </membership>

>
>




Dominick Baier [DevelopMentor] 10-12-2005 10:46 AM

Re: Getting attributs for membership provider from web.config
 
Hello Roel,

the Initialize method is private in the Membership class

You have to implement the Initialize method in your MembershipProvider derived
class.

The NameValueCollection holds the configuration values from the <membership>
element in web.config, e.g. "RequiresQuestionAndAnwer=true" - you have to
parse the collection to set the internal state in your class and the properties.

as i said - take the time to read the whitepapers i gave you the link to
- without completely understanding the architecture, you won't have much
fun with your provider.
there you will also find the source code of the depracated Access provider
as a template.

---------------------------------------
Dominick Baier - DevelopMentor
http://www.leastprivilege.com

> There is no Membership.Initialize(); atleast not in asp.net 2 but i
> found a
> function Initialize in System.Web.Security.Membership.Provider. The
> parameter string name is clear thats te provider name but the other
> parameter is what i don't understand.
> public virtual void Initialize (
> string name,
> NameValueCollection config
> )"Dominick Baier [DevelopMentor]"
> <dbaier@pleasepleasenospamdevelop.com>
> wrote in message
> news:42565460108bcf8c79d37e56e11c8@news.microsoft. com...
>
>> Hello news.microsoft.com,
>>
>> the source looks like this (in the Membership class)
>>
>> public static bool RequiresQuestionAndAnswer
>> {
>> get
>> {
>> Membership.Initialize();
>> return Membership.Provider.RequiresQuestionAndAnswer;
>> }
>> }
>> Initialize loads the configured default provider and assigns the
>> instance to the Provider property. So - they read the value from the
>> currently loaded provider implementation - which is your custom
>> provider. You are responsible in your provider to implement a
>> Initialize method and read the values from the NameValueCollection
>> (to populate the properties).
>>
>> so - your scenario should work.
>>
>> you have to closely follow all the design pattern by microsoft - read
>> more
>> here:
>> http://msdn.microsoft.com/asp.net/be...s/default.aspx
>> ---------------------------------------
>> Dominick Baier - DevelopMentor
>> http://www.leastprivilege.com
>>> How can get the values of for example RequiresUniqueEmail from my
>>> own membershipprovider? Using is
>>> System.Web.Security.Membership.RequiresQuestionAnd Answer; is not an
>>> option because it will call the property from the membership
>>> provider.
>>>
>>> <membership userIsOnlineTimeWindow="15"
>>> defaultProvider="MembershipProviderSample">
>>> <providers>
>>> <add name="MembershipProviderSample"
>>> type="SecurityProviders.MembershipProviderSample"
>>> EnablePasswordReset="true"
>>> EnablePasswordRetrieval="true" MaxInvalidPasswordAttempts="5"
>>> MinRequiredNonAlphanumericCharacters="0"
>>> MinRequiredPasswordLength="6"
>>> MembershipPasswordFormat="Clear"
>>> RequiresQuestionAndAnswer="true"
>>> RequiresUniqueEmail="true"
>>> PasswordStrengthRegularExpression="[0-9a-zA-Z]{6,12}$"/>
>>> </providers>
>>> </membership>




Roel Veldhuizen 10-12-2005 12:38 PM

Re: Getting attributs for membership provider from web.config
 
When rewritting Initialze you stil need to get that namevaluecollection. If
i have the namevaluecollection i can fix it. But how do i get the
namevaluecollection from the web.config?
I tried to us the ConfigurationManager but that didn't work.

"Dominick Baier [DevelopMentor]" <dbaier@pleasepleasenospamdevelop.com>
wrote in message news:42565460108c2a8c79d4222e25703@news.microsoft. com...
> Hello Roel,
>
> the Initialize method is private in the Membership class
>
> You have to implement the Initialize method in your MembershipProvider
> derived class.
>
> The NameValueCollection holds the configuration values from the
> <membership> element in web.config, e.g. "RequiresQuestionAndAnwer=true" -
> you have to parse the collection to set the internal state in your class
> and the properties.
>
> as i said - take the time to read the whitepapers i gave you the link to -
> without completely understanding the architecture, you won't have much fun
> with your provider.
> there you will also find the source code of the depracated Access provider
> as a template.
>
> ---------------------------------------
> Dominick Baier - DevelopMentor
> http://www.leastprivilege.com
>
>> There is no Membership.Initialize(); atleast not in asp.net 2 but i
>> found a
>> function Initialize in System.Web.Security.Membership.Provider. The
>> parameter string name is clear thats te provider name but the other
>> parameter is what i don't understand.
>> public virtual void Initialize (
>> string name,
>> NameValueCollection config
>> )"Dominick Baier [DevelopMentor]"
>> <dbaier@pleasepleasenospamdevelop.com>
>> wrote in message
>> news:42565460108bcf8c79d37e56e11c8@news.microsoft. com...
>>
>>> Hello news.microsoft.com,
>>>
>>> the source looks like this (in the Membership class)
>>>
>>> public static bool RequiresQuestionAndAnswer
>>> {
>>> get
>>> {
>>> Membership.Initialize();
>>> return Membership.Provider.RequiresQuestionAndAnswer;
>>> }
>>> }
>>> Initialize loads the configured default provider and assigns the
>>> instance to the Provider property. So - they read the value from the
>>> currently loaded provider implementation - which is your custom
>>> provider. You are responsible in your provider to implement a
>>> Initialize method and read the values from the NameValueCollection
>>> (to populate the properties).
>>>
>>> so - your scenario should work.
>>>
>>> you have to closely follow all the design pattern by microsoft - read
>>> more
>>> here:
>>> http://msdn.microsoft.com/asp.net/be...s/default.aspx
>>> ---------------------------------------
>>> Dominick Baier - DevelopMentor
>>> http://www.leastprivilege.com
>>>> How can get the values of for example RequiresUniqueEmail from my
>>>> own membershipprovider? Using is
>>>> System.Web.Security.Membership.RequiresQuestionAnd Answer; is not an
>>>> option because it will call the property from the membership
>>>> provider.
>>>>
>>>> <membership userIsOnlineTimeWindow="15"
>>>> defaultProvider="MembershipProviderSample">
>>>> <providers>
>>>> <add name="MembershipProviderSample"
>>>> type="SecurityProviders.MembershipProviderSample"
>>>> EnablePasswordReset="true"
>>>> EnablePasswordRetrieval="true" MaxInvalidPasswordAttempts="5"
>>>> MinRequiredNonAlphanumericCharacters="0"
>>>> MinRequiredPasswordLength="6"
>>>> MembershipPasswordFormat="Clear"
>>>> RequiresQuestionAndAnswer="true"
>>>> RequiresUniqueEmail="true"
>>>> PasswordStrengthRegularExpression="[0-9a-zA-Z]{6,12}$"/>
>>>> </providers>
>>>> </membership>

>
>




Roel Veldhuizen 10-12-2005 01:35 PM

Re: Getting attributs for membership provider from web.config
 
I solved the problem
"Roel Veldhuizen" <roel.veldhuizen@radventure.nl> wrote in message
news:%23XKhjnyzFHA.2652@TK2MSFTNGP14.phx.gbl...
> When rewritting Initialze you stil need to get that namevaluecollection.
> If i have the namevaluecollection i can fix it. But how do i get the
> namevaluecollection from the web.config?
> I tried to us the ConfigurationManager but that didn't work.
>
> "Dominick Baier [DevelopMentor]" <dbaier@pleasepleasenospamdevelop.com>
> wrote in message news:42565460108c2a8c79d4222e25703@news.microsoft. com...
>> Hello Roel,
>>
>> the Initialize method is private in the Membership class
>>
>> You have to implement the Initialize method in your MembershipProvider
>> derived class.
>>
>> The NameValueCollection holds the configuration values from the
>> <membership> element in web.config, e.g.
>> "RequiresQuestionAndAnwer=true" - you have to parse the collection to set
>> the internal state in your class and the properties.
>>
>> as i said - take the time to read the whitepapers i gave you the link
>> to - without completely understanding the architecture, you won't have
>> much fun with your provider.
>> there you will also find the source code of the depracated Access
>> provider as a template.
>>
>> ---------------------------------------
>> Dominick Baier - DevelopMentor
>> http://www.leastprivilege.com
>>
>>> There is no Membership.Initialize(); atleast not in asp.net 2 but i
>>> found a
>>> function Initialize in System.Web.Security.Membership.Provider. The
>>> parameter string name is clear thats te provider name but the other
>>> parameter is what i don't understand.
>>> public virtual void Initialize (
>>> string name,
>>> NameValueCollection config
>>> )"Dominick Baier [DevelopMentor]"
>>> <dbaier@pleasepleasenospamdevelop.com>
>>> wrote in message
>>> news:42565460108bcf8c79d37e56e11c8@news.microsoft. com...
>>>
>>>> Hello news.microsoft.com,
>>>>
>>>> the source looks like this (in the Membership class)
>>>>
>>>> public static bool RequiresQuestionAndAnswer
>>>> {
>>>> get
>>>> {
>>>> Membership.Initialize();
>>>> return Membership.Provider.RequiresQuestionAndAnswer;
>>>> }
>>>> }
>>>> Initialize loads the configured default provider and assigns the
>>>> instance to the Provider property. So - they read the value from the
>>>> currently loaded provider implementation - which is your custom
>>>> provider. You are responsible in your provider to implement a
>>>> Initialize method and read the values from the NameValueCollection
>>>> (to populate the properties).
>>>>
>>>> so - your scenario should work.
>>>>
>>>> you have to closely follow all the design pattern by microsoft - read
>>>> more
>>>> here:
>>>> http://msdn.microsoft.com/asp.net/be...s/default.aspx
>>>> ---------------------------------------
>>>> Dominick Baier - DevelopMentor
>>>> http://www.leastprivilege.com
>>>>> How can get the values of for example RequiresUniqueEmail from my
>>>>> own membershipprovider? Using is
>>>>> System.Web.Security.Membership.RequiresQuestionAnd Answer; is not an
>>>>> option because it will call the property from the membership
>>>>> provider.
>>>>>
>>>>> <membership userIsOnlineTimeWindow="15"
>>>>> defaultProvider="MembershipProviderSample">
>>>>> <providers>
>>>>> <add name="MembershipProviderSample"
>>>>> type="SecurityProviders.MembershipProviderSample"
>>>>> EnablePasswordReset="true"
>>>>> EnablePasswordRetrieval="true" MaxInvalidPasswordAttempts="5"
>>>>> MinRequiredNonAlphanumericCharacters="0"
>>>>> MinRequiredPasswordLength="6"
>>>>> MembershipPasswordFormat="Clear"
>>>>> RequiresQuestionAndAnswer="true"
>>>>> RequiresUniqueEmail="true"
>>>>> PasswordStrengthRegularExpression="[0-9a-zA-Z]{6,12}$"/>
>>>>> </providers>
>>>>> </membership>

>>
>>

>
>





All times are GMT. The time now is 02:05 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.