Asp.net FormsAuthentication 用户名、ID、GUID
我们将 FormsAuthentication 与自定义 MembershipProvider 和自定义 RolePrivoder 结合使用。对于我们的用户,我们有一个唯一的用户名、ID(mssql 自动密钥)和 GUID(这三个都是唯一的)。
我不确定使用哪一个进行表单身份验证:
FormsAuthentication.GetAuthCookie(userName, false);
用户名、ID 或 GUID。我们是否可以将所有这三个信息作为 UserData 存储在 FormsTicket 中。
默认情况下,Asp.net 采用用户名(例如电子邮件地址)。但我认为UserName如果存储在客户端就有点弱了。还有 MSSQL 自动键。
那么什么是最安全的方法呢?
We are using FormsAuthentication with custom MembershipProvider and custom RolePrivoder. For our Users we have a unique UserName, ID (mssql auto-key) and a GUID (all three unique).
I'm not sure which one to use for the Formsauthentication:
FormsAuthentication.GetAuthCookie(userName, false);
UserName, ID or GUID. Can we even store all three informations as UserData in the FormsTicket.
Per Default Asp.net takes the UserName (e.g. E-Mail adress). But I think UserName is a little bit weak if it is stored on the client. A MSSQL Auto-Key also.
So what is the securest way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将 UserData 对象序列化并加密为字符串,并将其用于 cookie。
我在这里回答了一个类似的问题:
将用户数据存储在 MVC 2 中
You can serialize and encrypt your UserData object to a string and use that for the cookie.
I answered a similar question about that here:
Store user data in MVC 2