Typical Problem: ASP.NET <asp:login> works fine when tested locally, but doesn't work when deployed.
If you are setting up an ASP.NET application for deployment it's best to explicitly define the applicationName property on your membership provider - otherwise when you go to deploy the application you might run into problems.
The applicationName property in the web.config has to match the application path or application name of the web application - the paths are generally going to be different between your test and production environments.
So, the best way to make sure web.config stays correct for test and production is to set the application name through IIS.
Note:
Another thing to look out for when using the LoginView is that the control does not use the membership provider - it uses FormsAuthentication (for login status) and the RoleProvider for specific roles. You need to put the ApplicationName in your role provider as well:
<roleManager enabled="true" defaultProvider="SqlRole">
<providers>
<add name="SqlRole"
connectionStringName="YOUR_CONNECTION"
applicationName="appName" />
</providers>
</roleManager>