As far as I can tell, the basic implementation of .Net membership records lastuserlogin but does not track each login, something I need to do now. I\'ve done some research
We simply created a class that extends the SqlMembershipProvider, overriding the ValidateUser method to perform whatever extra logic we want. (You just need to change the <membership> section of your web.config file to use this new membership provider).
Edit
There's really not much to it. You create a table in your schema that refers to the Guid-based user ID in the standard membership tables. You create a class to manage interaction with this table. You create your membership provider:
public class MyMembershipProvider : SqlMembershipProvider
{
public override bool ValidateUser(string username, string password)
{
bool validated = base.ValidateUser(username, password);
if (validated)
{
MembershipUser user = GetUser(username, false); // built in to SqlMembershipProvider
new LoginTracker().RegisterLogin((Guid)user.ProviderUserKey);
}
return validated;
}
}
Then you register this provider in web.config:
<membership defaultProvider="MyMembershipProvider" userIsOnlineTimeWindow="60">
<providers>
<clear/>
<add name="MyMembershipProvider" ... type="MyAssembly.MyNamespace.MyMembershipProvider, MyAssembly"/>
</providers>
</membership>
Simple!
You will need to implement a custom memberhsip provider. Take a look at this: http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx