I'm writing a ASP.NET MVC 3 web site. This is my custom MembershipProvider (only ValidateUser realized):
public class RFMMembershipProvider : MembershipProvider
{
IUserService userService = new UserService();
public override bool ValidateUser(string username, string password)
{
return password.GetHashCode().ToString() == userService.GetUser(username).Pass;
}
...
}
and my Roleprovider (realized only GetRolesForUser)
public class RFMRoleProvider : RoleProvider
{
IUserService userService = new UserService();
public override string[] GetRolesForUser(string username)
{
return new string[] { userService.GetRolesForUser(username).Name };
}
...
}
my web.config part
...
<system.web>
<roleManager enabled="true" defaultProvider="RFMRoleProvider">
<providers>
<clear/>
<add name="RFMRoleProvider" type="RFMSite.WebUI.RFMRoleProvider, RFMSite"/>
</providers>
</roleManager>
<membership defaultProvider="RFMMembershipProvider"
>
<providers>
<clear/>
<add name="RFMMembershipProvider"
type="RFMSite.WebUI.RFMMembershipProvider, RFMSite"
/>
</providers>
</membership>
<authentication mode="Forms" >
<forms loginUrl="~/Account/LogOn" timeout="2880">
</forms>
</authentication>
on LogOn action:
...
if (Membership.ValidateUser(username, password))
{
FormsAuthentication.SetAuthCookie(username, true);
return RedirectToAction("Files", "Admin");
}
...
return View();
So the question is Why when I publish site on IIS 7.0 Membership.ValidateUser(username, password)
always returns false? It works NORMAL on local asp.net development server.
The connection with MSSQL Server is OK (I can get any data and display it when website deployed)? No exception happens, just always returns false...