Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net中,访问整个应用程序中的登录用户名和id。在应用程序中,我可以在哪里存储登录用户名和id。?_C#_Asp.net - Fatal编程技术网

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

C# 在asp.net中,访问整个应用程序中的登录用户名和id。在应用程序中,我可以在哪里存储登录用户名和id。?,c#,asp.net,C#,Asp.net,我正在使用vs2010在asp.net中开发一个应用程序 在应用程序中,管理员可以使用Microsoft成员注册向导创建不同的用户帐户。 用户可以使用Microsoft登录控件使用创建的凭据登录 现在,我必须以整个应用程序的不同形式访问用户的UserID和UserName中的日志 目前,我正在通过编写所有形式的代码来访问这些详细信息 MembershipUser newUser = Membership.GetUser(); Guid newUserId = (Guid)newUser.Prov

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

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

现在,我必须以整个应用程序的不同形式访问用户的UserID和UserName中的日志

目前,我正在通过编写所有形式的代码来访问这些详细信息

MembershipUser newUser = Membership.GetUser();
Guid newUserId = (Guid)newUser.ProviderUserKey;
那么,我在哪里可以将这个登录用户的UserID和UserName存储在一个公共位置呢。所以我可以从公共场所获取这些细节

请帮帮我


谢谢,

这完全取决于应用程序数据的持久化位置

如果使用数据库进行存储,那么从逻辑上讲,数据应该属于那里的用户表中,并且在应用程序配置中有一个到数据库的连接字符串

如果不使用数据库,那么您需要一些基于文件的存储,例如XML或您自己发明的东西,然后有一个解析器来序列化/反序列化文件中的数据


在这两种情况下,您都需要考虑安全性和散列/盐析,并确保数据保持安全。

< P>我倾向于使用静态助手类,它在任何请求的持续时间中存储(并加载)数据。因此,每个请求只需调用GetUser一次。如果这对您来说太多了,您可以使用一个会话,例如-但是不要忘记会话只会持续很长时间,所以如果由于会话超时而丢失数据,请准备重新加载数据


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

在管理员创建用户后,我已将用户详细信息存储在数据库中。在检查所有必要条件后,用户使用其凭据成功登录。现在我想在整个应用程序中访问这个登录用户的用户名和用户ID。所以我必须在应用程序中的某些地方存储这些详细信息。因此,我不需要以所有形式编写相同的重复代码。那个么在应用程序中,我可以将这些细节存储在哪里呢?你们所说的整个表单是什么意思?它们不是在同一个背景下吗?为什么不能直接使用Membership.GetUser().ProviderUserKey?我在每个表单中都使用此代码。谢谢Luaan。我将尝试使用静态帮助器类。我已将其存储在公共静态变量中,这对我来说很有用。谢谢大家。@user3024196:公共静态变量?你是把它储存在一个集合里还是什么的?静态字段大多是全局字段,甚至跨用户会话和请求。