EPiServerCommonIntegrationMembershipProvider:

Vote:
 

Currently I am having difficulties to get my users to be ported to the EpiServer common tables on the community database.
My configuration file looks like this:

 

 <roleManager enabled="true" defaultProvider="SqlServerRoleProvider" cacheRolesInCookie="true">

 <providers>

<clear />

<add name="SqlServerRoleProvider" connectionStringName="PlatformMembership" applicationName="ApplicationName" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

 </providers>

</roleManage>

<membership defaultProvider="EPiServerCommonIntegrationMembershipProvider" userIsOnlineTimeWindow="10">

<providers>

 <clear />

<add name="EPiServerCommonIntegrationMembershipProvider" applicationName=" ApplicationName " type="EPiServer.Common.Web.Authorization.IntegrationMembershipProvider, EPiServer.Common.Web.Authorization" provider="SqlServerMembershipProvider" roleToSynchronize1="*" />

<add  name="SqlServerMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="PlatformMembership" requiresQuestionAndAnswer="false" applicationName=" ApplicationName " requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="3" passwordAttemptWindow="20" />

</providers>

</membership>

 I followed the instructions on Tom's post to configure the integration and did not apply the hotfix as I am using the latest CMS and Community from EpiServer.
Any suggestion?

 

Thanks for getting back Kristoffer, I did the post once again so it looks better Wink

 I'mdouble checkinng the login control and making sure it is using the right provider as you suggested  and will update soon.

Thanks

#31875
Aug 13, 2009 12:41
Vote:
 
Hi ,
I'm using FormsAuthentication as authentication mechanism and configured to use SqlServerMembershipProvider. I'm using community sp1.
I have stripped out everything else on the login button apart from the authentication for debug purposes and I'm still getting the following exception when I try to login:
"The type 'EPiServer.Community.ImageGallery.ImageGallery' does not have an attribute with the name 'Owner' assigned to it."
The user exists on the current membership database but it does not get "created" in the community tables.
Thanks.

Otavio Soccol

#31879
Aug 13, 2009 15:13
Vote:
 

Has anyone had a chance to look into this, it is getting critical for us.

Thanks.

#31927
Aug 17, 2009 12:11
Vote:
 

Hi Otavio,

It seems like you are using code from the Relate+ package, but maybe not a Relate+ default database?! In the default Relate+ setup there is a custom attribute named "Owner" on the ImageGallery object.

You can check your custom attributes by login into to edit mode -> Community tabb -> Attributes -> choose ImageGallery in the dropdown. If there is no attribute named Owner, you can add it - it should be of type EPiServer.Common.Security.IUser (see documentation if you need information how to do this). Alternatively you can alter the code on the site.

Best regards,
Tom Stenius

#31946
Aug 18, 2009 9:32
Vote:
 

Many thanks Tom, it is working now.

Have a great day. 

#31951
Aug 18, 2009 11:10
Vote:
 

Hi! I think Im having the same problem as above. The user exists on the current membership database (Windows) but it does not get "created" in the community tables. This is from web.config

  <roleManager enabled="true" defaultProvider="WindowsRoleProvider" cacheRolesInCookie="true">
   <providers>
    <clear/>
    <add name="WindowsRoleProvider" applicationName="EPiServerSample" type="EPiServer.Security.WindowsRoleProvider, EPiServer"/>
   </providers>
  </roleManager>
  <membership defaultProvider="EPiServerCommonIntegrationMembershipProvider" userIsOnlineTimeWindow="10">
   <providers>
    <clear/>
    <add name="WindowsMembershipProvider" type="EPiServer.Security.WindowsMembershipProvider, EPiServer" deletePrefix="BUILTIN\" searchByEmail="true"/>
    <add name="EPiServerCommonIntegrationMembershipProvider" applicationName="EPiServerCommonApplication" type="EPiServer.Common.Web.Authorization.IntegrationMembershipProvider, EPiServer.Common.Web.Authorization" provider="WindowsMembershipProvider" roleToSynchronize1="Everyone"/>
   </providers>
  </membership>

 

We are using integrated windows authentication (not anonymous acces). Any ideas?

#32589
Edited, Sep 09, 2009 10:07
Vote:
 
Hi Erik,

I did not have to use the WindowsMembershipProvider but I assuming it works in a similar way on matters of EpiServer membership integration but double check Tom's post

What solved my problem was to set the custom attribute named "Owner" on the ImageGallery object as suggested by Tom and that is due to the fact we have used code from the Relate+ package and not a Relate+ default database.

I would maybe suggest to change the roleToSynchronize1="Everyone" to roleToSynchronize1="*" but I am not sure if it will make any difference.

Hope that helps somehow and good luck.

 

Otavio Soccol

#32603
Sep 09, 2009 11:43
Vote:
 
Hi,

In the Windows Authentication setup you have to approch it a bit differently. See my new blog post here.

Best regards,
Tom

#32616
Sep 09, 2009 14:54
Vote:
 

Excellent post, that did the trick! :) Thanks

(Remember to remove the preCondition="managedHandler" attribute if you're not using IIS7)

#32620
Sep 09, 2009 15:59
Vote:
 

Nice!

I will add your note to my blog post as well.

 //Tom 

#32621
Sep 09, 2009 16:04
Vote:
 
Hi! I got one more question in this matter. I'm noticing that we are losing the community members e-mail addresses. We are storing them in the EMail property on IUser. Apparently, when logging in the e-mail address of the logged in user gets overwritten with string.Empty. Is there a way of avoiding this, or should we create a new e-mail attribute on the users instead?
Thanks!
Erik Lidälv
#33283
Oct 07, 2009 8:58
Vote:
 

Hi Erik,

I'm sorry to say that I don't beleive you can change this behavior. Either you do as you propose, i.e. create a new user attribute. Or you reverse engineer the HTTP module and make your own with custom behavior.

Best regards,

Tom 

#33330
Oct 08, 2009 8:10
Vote:
 

 

Each time a user logs in the IntegrationMembershipProvider calls the SynchronizeUser Method of the Integrator class in EPiServer.Common.Web.Authorization namespace. If the Email property is empty for the user in the underlying MembershipProvider it gets copied to the CommonUser-table overwriting any information registered there. One solution is to write the email address of the user back to the underlying MembershipProvider.

/MHo

#43061
Edited, Sep 10, 2010 16:33
This thread is locked and should be used for reference only. Please use the Legacy add-ons forum to open new discussions.