我们正在使用FormsAuthentication与自定义MembershipProvider和自定义RolePrivoder。对于我们的用户,我们有一个唯一的UserName,ID(mssql自动密钥)和一个GUID(全部三个唯一的)。
我不确定哪一个用于Formsauthentication:
FormsAuthentication.GetAuthCookie(userName, false);
UserName,ID或GUID。我们甚至可以将所有三个信息存储为FormsTicket中的UserData。
每个默认Asp.net采用UserName(例如电子邮件地址)。但我认为如果UserName存储在客户端上,它有点弱。一个MSSQL自动密钥也。
那么最安全的方式是什么?