Custom Role and Membership Provider NotImplementedException in 4.x
I have a project using ASP.NET's built in role and membership provider management (using the aspnet_Roles and aspnet_Membership tables). The controls that Sitefinity will manage currently use this. On the 'Membership & Role Providers' Webinar it shows how to implement custom providers by implementing your own custom provider using the System.Web.Security.RoleProvider and System.Web.Security.MembershipProvider and referencing the assembly and adding settings in the web.config. Since I'm using ASP.NET's built in role and membership management directly I shouldn't need to do all these steps. I saw an example that achieves this using the System.Web.Security.SqlRoleProvider and System.Web.Security.SqlMembershipProvider since they implement the System.Web.Security.RoleProvider and System.Web.Security.MembershipProvider. I added settings to the web.config file to achieve this in 4.x but am getting a NotImplementedException for (Telerik.Sitefinity.Security.Data.RoleDataProvider.GetRolesForUser)
I'm using 4.X so am not sure if things are different in that version. From the exception it looks like I
need to implement a Telerik RoleDataProvider but am not sure if this is the issue or is some other settings need to be changed/added.
I've included the web.config settings I added as well as the exception I'm getting below. The connectionStrings is not shown but is in the web.config. Any advice on the steps required to use the ASP.NET built in role and membership management with Sitefinity 4.x for custom role and membership management would be appreciated!!!
Thanks.
<system.web>
<siteMap defaultProvider="SitefinitySiteMap">
<providers>
<add name="SitefinitySiteMap" type="Telerik.Sitefinity.Web.SitefinitySiteMap, Telerik.Sitefinity" taxonomyProvider="OpenAccessDataProvider" pageTaxonomy="Pages" rootNode="FrontendSiteMap" pageProvider="OpenAccessDataProvider"/>
</providers>
</siteMap>
<roleManager enabled="true" cacheRolesInCookie="true" defaultProvider="SqlProvider">
<providers>
<clear/>
<add name="SqlProvider"
type="System.Web.Security.SqlRoleProvider,System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="CustomProviders"
applicationName="/" />
</providers>
</roleManager>
<membership defaultProvider="SqlProvider">
<providers>
<clear/>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="CustomProviders"
applicationName="/"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="10"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0"/>
</providers>
</membership>
[NotImplementedException: The method or operation is not implemented.]
Telerik.Sitefinity.Security.RoleProviderWrapper.GetUserLinks() +51
Telerik.Sitefinity.Security.Data.RoleDataProvider.GetRolesForUser(Guid userId) +123
Hello Sean,
The method which is called GetUserLinks is not implemented yet and we thrown this error explicitly. Currently our wrapper for the standard Role provider is not finished and this is why you get this error.
Best wishes,
Ivan Dimitrov
the Telerik team
Do you think this will be in the RC?
Hello Eric,
The current plan is for October - November. We will try to release another version before RC, but I cannot give you certain date now.
Greetings,
Ivan Dimitrov
the Telerik team