Hi.
I have the following scenario: I have a site running on DNN 3.2 (ASP.NET 1.1) So long, we're good.
Now, I have a web service written on ASP.NET 2.0 that must administer the Roles/Memberships of the users configured on the DNN database.
The question is if I can use the DNNSqlRoleProvider on the web service with asp.net 2.0 to administer the roles?
Here's the web service configuration:
Connection string used by the provider to access the DNN DataBase.
<appSettings>
<add key="SiteSqlServer" value="Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=MonitorSite;Data Source=pctesting" />
</appSettings>
Here I add the RoleManager module.
<httpModules>
<remove name="RoleManager" />
<remove name="Profile" />
<add name="RoleManager" type="Microsoft.ScalableHosting.Security.RoleManagerModule, MemberRole, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b7c773fb104e7562" />
<add name="Profile" type="Microsoft.ScalableHosting.Profile.ProfileModule, MemberRole, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b7c773fb104e7562"/>
</httpModules>
Then, I add the provider.
<roleManager enabled="true">
<providers>
<add name="DNNSQLRoleProvider"
type="DotNetNuke.Security.Role.DNNSQLRoleProvider, DNNSQLRoleProvider"
connectionStringName="SiteSqlServer"
applicationName="Security"
description="Stores and retrieves roles data from the local Microsoft SQL Server database" />
</providers>
</roleManager>
Finally, I add this method on the web service:
[WebMethod]
public bool CreateRole()
{
try
{
Microsoft.ScalableHosting.Security.Roles.CreateRole("SomeRole");
return true;
}
catch (Exception ex)
{
string s = ex.ToString();
throw (ex);
}
}
But when I try to run the method I get the following exception:
System.Exception: Roles feature not enabled.
at Microsoft.ScalableHosting.Security.Roles.Initialize()
at Microsoft.ScalableHosting.Security.Roles.CreateRole(String roleName)
at Service.CreateRole() in c:\Inetpub\wwwroot\SecurityTest\App_Code\Service.cs:line 30
Any clue? And thanks in advance.