asp.net mvc在用于与无状态wcf服务通信的表单身份验证之后存储用户名/其他ID信息

时间:2010-03-01 20:08:58

标签: asp.net-mvc authentication forms-authentication

我已经回顾了本网站上的一些类似问题,但找不到符合我情况的答案。

我使用的是asp.net mvc,它与无状态wcf服务安全通信。对于每个服务呼叫,我需要传递用户名和其他一些用于识别目的。 - 不是密码,服务没有验证。

我正在使用表单身份验证来验证用户身份。我只是不确定在用户登录后,我应该将用户名和其他帐户详细信息存储在用户登录网站的时间范围内。对于webforms应用程序的建议包括在“会话”中。在MVC中是否存在等效的替代方案?将表单中的信息存储在auth cookie中是最佳解决方案吗?似乎在cookie中将信息与内存中的其他地方相比会很慢。

谢谢

2 个答案:

答案 0 :(得分:3)

如果您需要一遍又一遍地访问有关当前用户的精选信息,您可以将FormsAuthentication与自定义主体实现相结合。

Forms身份验证机制会将cookie写入客户端的磁盘,并根据每个调用的cookie重新创建自定义主体。你可以,例如存储类似用户“级别”,用户“个人资料”或其他小块信息的内容,然后可以在请求有效期内随时通过HttpContext.Current.User访问。

查看以下主题的资源:

我确信谷歌搜索或抨击“ASP.NET自定义主体”将为你提供更多的点击!

答案 1 :(得分:0)

是的,除非是大量信息,否则首选位置是将其存储在cookie中。除此之外,会议是下一个最好的地方。