控制用户登陆个数

FenHui 2008-12-19 02:49:28
asp.net 怎么样控制一个用户名只能5个人登陆呢??

最好有代码
真的不知道怎么做
...全文
153 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
别样苍茫 2008-12-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pgameli 的回复:]
引用 1 楼 emperordj 的回复:
将登陆后的用户名放到Application中,再循环判断该用户名,超过5个就不让登录了

这个方法可以实现
不过还有个方法
在表里面添加计数列
登陆一个就加1,加到5的时候就不让登陆了
[/Quote]
2个不错的方法
phoebuswei 2008-12-19
  • 打赏
  • 举报
回复

<%@ WebService Language="C#" Class="Sample.WebServiceFoundation" %>

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;

namespace Sample
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class WebServiceFoundation : System.Web.Services.WebService
{
[WebMethod]
public void onbeforeunload()
{
//减少一个用户
}
}
}
phoebuswei 2008-12-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 lqscoke 的回复:]
这个关键是退出,如何知道退出``这个不可能很严格可以控制全面的`
[/Quote]
退出好说相应一下onbeforeunload事件

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Debug">
<Services>
<asp:ServiceReference Path="WebServiceFoundation.asmx" InlineScript="true" />
</Services>
</asp:ScriptManager>
<script>
function CloseOpen() {
if(event.clientX<=0 && event.clientY<0) {
Sample.WebServiceFoundation.onbeforeunload();
</script>
<body onbeforeunload="CloseOpen()">

回调函数获和错误处理自己写吧
Hertz_liu 2008-12-19
  • 打赏
  • 举报
回复
改一下数据表的结构
在用户表里添一个字段嘛,记录此用户名此时有几个人在登录
当多一个人登录的时候,记录加一,退出时记录减一
不过种的话,如果用户是非正常退出的话,不好判断
cwmwss 2008-12-19
  • 打赏
  • 举报
回复
用hashtable可以不?
键:值
用户名:个数
FenHui 2008-12-19
  • 打赏
  • 举报
回复
你们说的方法我都不会啊
菜鸟一个啊我

我想问下各位
如果每个用户登陆一次
我都用一个datatable保存下来

这个样可以吗??

datatable 保存的是整个网站的 还是当前的用户呢
paking_wong 2008-12-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 pgameli 的回复:]
如果用Application去判断的话
就必须提取所有用户的信息遍历然后对比
会影响服务器性能
[/Quote]

和放在数据表里都一样,都需要去查找,看你喜欢放在那里而已。
claymore1114 2008-12-19
  • 打赏
  • 举报
回复
用Application 简单点
pgameli 2008-12-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]

参考
http://www.cnblogs.com/lmjob/archive/2008/10/14/1310829.html
[/Quote]
我晕死
这是判断同一IP登陆次数的......
pgameli 2008-12-19
  • 打赏
  • 举报
回复
如果用Application去判断的话
就必须提取所有用户的信息遍历然后对比
会影响服务器性能
paking_wong 2008-12-19
  • 打赏
  • 举报
回复
使用一数组存放每个用户名目前登陆的个数,例如
Loginuser 有两个属性,id为账号用户名,count为登陆个数。

Loginuser [] loginuser=new Loginuser();
将loginuser存在Application["LoginUsers"]

登陆时作判断,如果没有超出登陆个数,则修改Application["LoginUsers"]

另外,还有一步。
在session end 处减掉对应用户名登陆个数
lqscoke 2008-12-19
  • 打赏
  • 举报
回复
这个关键是退出,如何知道退出``这个不可能很严格可以控制全面的`
emperordj 2008-12-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pgameli 的回复:]
引用 1 楼 emperordj 的回复:
将登陆后的用户名放到Application中,再循环判断该用户名,超过5个就不让登录了

这个方法可以实现
不过还有个方法
在表里面添加计数列
登陆一个就加1,加到5的时候就不让登陆了
[/Quote]
可是一旦用户不是正常退出的话,数据表的东东就不好改了
caofan520 2008-12-19
  • 打赏
  • 举报
回复
没有绝对的准确
可以用Ajax每隔一段请求一下服务器更新一下请求时间
超出指定时间就算离开服务器
hongmaohouzi 2008-12-19
  • 打赏
  • 举报
回复
http://www.cnblogs.com/heekui/archive/2007/01/08/615254.html
http://bbs.zdnet.com.cn/thread-491606-1-2908.html

路人乙e 2008-12-19
  • 打赏
  • 举报
回复
登录前
if((int)Application["users"]>=5) return;
登录后 Application["users"] = (int)Application["users"]+1;
路人乙e 2008-12-19
  • 打赏
  • 举报
回复
登录前
if((int)Application["users"]>=5) return;
登录后 Application["users"] = (int)Application["users"]+1;
FenHui 2008-12-19
  • 打赏
  • 举报
回复
那如果是非法退出 岂不是不能减啦??

除了控制数据库字段大小的方法
还有别的吗??

不知道临时表可以实现不
没用过临时表 也不知道用这个怎么做
wuyq11 2008-12-19
  • 打赏
  • 举报
回复

参考
http://www.cnblogs.com/lmjob/archive/2008/10/14/1310829.html
shizheyangde 2008-12-19
  • 打赏
  • 举报
回复
登陆时数据库记录同一用户名的个数,退出再记录减1
加载更多回复(2)
Account Activation Overview.zip 在管理员版本里面,新开一页来显示所有等待帐号激活的用户.(管理员激活和一般用户激活).适用phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Admin Overall Forums Permission.zip 这个hack 允许管理人员用鼠标器轻易的一点就设定所有论坛的权限。对于新手来说很适用 Admin Panel for Junior Admins and Mods.zip 允许你设定二级管理人员,并且你也可以准许二级管理人员使用你允许他们使用的所有设定。你也可以同时允许游客使用你预先设定的所有选项.phpBB Version: 2.0.0 - 2.0.1 Admin Private Messages Viewer.zip 这是对于管理员版面额外附加的程序。 它可以显示所有站内信件的列表,并且让管理员看到所有的信息。phpBB 版本: 2.0.0 Admin Server Test.zip 此hack 会测试你的server 运行功能,速度,和它是否可以新建和写文件。将来我们会提供更多的测试.phpBB 版本: 2.0.0 Admin Shadow Topic Delete.zip 管理员专用版 附加 可是显示隐藏题目连接(当你移动一个题目后遗留下的连接). 这也会显示一个题目被移动地址的连接,并且让你删除这个隐藏连接.phpBB 版本: 2.0.0 Admin Users List Hack.zip 这个hack提供一个管理您的用户的新方法: 非常有用和方便!你不需搜索任何人.phpBB 版本: 2.0.1 - 2.0.2 Admin Voting这是一个管理员版本的hack, 使得管理员们去查看投票结果,谁参预了此投票,和谁在哪里投什么票.因为牵涉到隐私问题,有这个功能的论坛应当让它的用户得知此功能已在使用.此hack是被Fabro勇敢的从Vote-teilnehmer anzeigen v.1.2.0 更正过来的.phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Allow Avatars only with xx posts 让你的用户在发表一定贴数之后才可以使用头像. 你可以预先在管理员面版里面设定贴数.phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Allow Disallow Signature 此hack和avatars很相似-你可以准许/不准许每个用户有自己的签名.phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Allow Unlimited Guest Voting 此hack 允许管理员在论坛里面给所有游客设定投票的权力,并且没有登陆用户也可在此设定的论坛里面投票。此功能不附带任何跟踪功能,因此游客可以重复投票。phpBB 版本: 2.0.1 - 2.0.2 Auto Un-ban Main Admin 此hack不会防止限制高级管理员,可是此MOD可以在没错网页刷新时解除对于高级管理员的限制(假如高级管理员被限制).phpBB 版本: 2.0.0 Configurable online trading time 此hack让管理员通过控制面版查看用户在线持续时间(以秒计算)。 这个时间将会在"线上人数"里面显示.phpBB 版本: 2.0.0里面显示. " Control Panel modcp Modification 类似于悄悄话:这个功能可以让您一次选modcp里面的全部贴子。使得您更方便的选择贴子phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Delete Inactive Users 此程序让你可以删除不活跃的用户。 它包含很多数据,如加入日期,从未登陆,等等.管理员可以建立删除用户的连接。phpBB 版本: 2.0.2 Edit Joined Date per Admin Panel 用此hack, 你可以轻松的修改用户的加入日期. phpBB 版本: 2.0.0 - 2.0.1 - 2.0.2 Edit User s Post Count 修改用户管理面版里面的用户发贴计数。如果某用户因发重复的贴因而积累了很多发贴计数,你可用此功能使得数字回复正常.phpBB 版本: 2.0.1 Enhanced Admin User Lookup 这将会代替管理员面版里面的用户搜索,以更多功能来方便管理员使用。phpBB 版本: 2.0.0 Global Annoucement Hack 此MOD让你更容易的发表使得所有版都可以看到的公告。 它支持管理员,你可以设定可以看此贴的用户,可

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧