【发布时间】:2011-08-24 07:04:29
【问题描述】:
我将注册用户存储到数据库 db_register。
我想在他们登录时将每个用户的 id 存储到一个数组中。
如何将每个用户 ID 存储到数组中?
【问题讨论】:
-
请显示一些来源...您尝试了什么?什么不起作用?任何错误消息/异常?
我将注册用户存储到数据库 db_register。
我想在他们登录时将每个用户的 id 存储到一个数组中。
如何将每个用户 ID 存储到数组中?
【问题讨论】:
如果你使用 FormsAuthentication,
Membership.GetAllUsers(); 的所有用户。MembershipUserCollection。 MembershipUser。 MembershipUser.IsOnline 的布尔属性
在 GridView 中填充该集合,您可以看到所有在线用户。
【讨论】:
您可以通过多种方式实现这一目标,我认为您需要提供更多关于您如何控制登录等的详细信息。
如果您没有使用 FormsAuthentication 并且您不想将登录用户状态保存到数据库,那么我会说您最好的选择是在您的应用程序状态下拥有一个登录用户的集合/列表.因此,当用户登录时,您将它们添加到列表中。比如:
(List<string>)(Application["loggedUsers"]).Add(loggedonusername);
然后,在单独的页面上,您可以将网格/中继器等绑定到 Application["loggedUsers"]。
当用户注销或他们的会话结束时,您会从应用程序状态中删除该条目。
或者,如果您有权修改数据库,您可以向用户表(如果有)添加一个字段,指示用户是否登录 - 这将取代将用户存储在应用程序状态。
【讨论】: