繁体   English   中英

在asp.net中,访问整个应用程序中的登录用户名和ID。 我在哪里可以在应用程序中存储登录用户名和ID。

[英]In asp.net, To access login username and id in entire application. Where can I store Login user name and id in application.?

我正在使用vs2010在asp.net中开发一个应用程序。

在应用程序中,管理员可以使用Microsoft成员注册向导创建不同的用户帐户。 用户可以使用Microsoft登录控件以创建的凭据登录。

现在,我必须以整个应用程序的不同形式访问此登录用户的UserID和UserName。

目前,我正在通过以下方式编写所有形式的代码来访问此详细信息:

MembershipUser newUser = Membership.GetUser();
Guid newUserId = (Guid)newUser.ProviderUserKey;

因此,我可以在哪里将登录用户的UserID和UserName存储在一个公共位置。 因此,我可以从普通地方访问此详细信息吗?

请帮我。

谢谢,

好吧-这完全取决于您为应用程序保留数据的位置。

如果您使用数据库进行存储,则逻辑上讲,数据应该属于用户表中的数据,并在应用程序配置中包含与数据库的连接字符串。

如果不使用数据库,则您适当地需要一些基于文件的存储,例如XML或您自己发明的存储,然后有一个解析器来对文件中的数据进行序列化/反序列化。

在这两种情况下,您都需要考虑安全性和哈希/盐化,并确保数据安全。

我倾向于使用静态帮助程序类,该类在任何请求期间都将数据存储(并加载)在HttpContext.Items中。 因此,您只需要每个请求调用一次GetUser。 例如,即使这对于您来说太多了,您也可以使用会话-但不要忘记会话只能存活很长时间,因此,如果由于会话超时而丢失数据,请准备好重新加载数据。

静态类必须可以从整个应用程序访问-在一个网站项目中,这意味着App_Code文件夹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM