CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

ASP.NET中,怎样实现一个帐号只能登陆一次的功能?

楼主deny_crack()2005-12-02 15:41:46 在 .NET技术 / ASP.NET 提问

在同一台机器上,一个帐号只能登陆一次,如果再使用相同的帐户登陆的话,就提示“该帐户再使用中”,用VB.NET怎么实现呢?  
      第二个问题就是怎样实现必须登陆才能访问除首页外的其他网页?如果是直接输入地址访问而没有经过登陆的话,就自动重定向到首页,这个功能用VB.NET又怎么实现呢? 问题点数:20、回复次数:20Top

1 楼jiang8282(雪山飞狐)回复于 2005-12-02 15:50:50 得分 0

登录时添加一个注册码,然后进行判断Top

2 楼deny_crack()回复于 2005-12-02 15:53:30 得分 0

可以说得更清楚一点吗??Top

3 楼ivee(ivee)回复于 2005-12-02 15:58:59 得分 20

1、用户登录后将用户名存在Applicatoin或Cache对象中,每次登录时检查是否该用户已经登录,登出时将用户名从Application或Cache中删除;  
  2、在Web.Config文件中设置FORM/WINDOWS/PASSPORT验证,并使用LOCATION配置授权/拒绝登录用户的文件夹位置。Top

4 楼clxxj(查无此人)回复于 2005-12-02 16:03:28 得分 0

1.application  
  2.  
    web.config中配置  
          <authorization>  
                  <deny     users="?"/>  
                          <!--     <allow           users="[逗号分隔的用户列表]"  
                                                            roles="[逗号分隔的角色列表]"/>  
                                      <deny             users="[逗号分隔的用户列表]"  
                                                            roles="[逗号分隔的角色列表]"/>  
                          -->  
          </authorization>Top

5 楼ywcyj(江南)回复于 2005-12-02 16:07:55 得分 0

用Cache,可以看孟子张的例子Top

6 楼ywcyj(江南)回复于 2005-12-02 16:14:11 得分 0

http://dotnet.aspx.cc/ShowDetail.aspx?id=CF5FFABC-CFE1-4368-3C13-9B4FCD7C7168  
   
  请注意退出时清除cache信息Top

7 楼jimmylin1000(小鱼)回复于 2005-12-02 16:23:18 得分 0

我讲一下思路吧.  
  1.你数据库中设置ip,user,state分别代表登入时的ip地址,用户信息,用户状态.每次用户进来你就记录下这几个值,发现相同的ip,user,且有该帐户在线(看状态),就不让他登进来.  
  2.在没有权限时不能看到的页,应该在底层写一个验证的方法,去验证该用户可不可以看该页.验证的方法可以通过数据库和SESSION来完成.Top

8 楼bwtgod()回复于 2005-12-02 16:45:34 得分 0

用cookie判断也可以。Top

9 楼bwtgod()回复于 2005-12-02 16:46:00 得分 0

用cookie判断也可以。Top

10 楼ocean413(地下党)回复于 2005-12-02 17:14:18 得分 0

实现一个帐号只能登陆一次的功能可以用临时表吧。  
   
   
  如果是直接输入地址访问而没有经过登陆的话,就自动重定向到首页,现在web.config将  
  验证方式改成  
        <authentication   mode="Forms">    
  <forms   name=".ASPXCOOKIE"   loginUrl="index.aspx"   protection="All"   timeout="30"   />  
  </authentication>  
   
   
  然后将授权策略改成  
        <authorization>  
                  <deny   users="?"   />   <!--   不允许匿名用户   -->  
          </authorization>  
  Top

11 楼chenghp(不登高山,不知天之高也;不临深溪,不知地之厚也。)回复于 2005-12-02 17:59:49 得分 0

第一个问题:在数据库中建立一个表online,表示用户是否在线,当用户在首页进行登陆时,对数据库进行查询,如果没有查到相关记录,表示尚未登陆,则将记录写到数据库中;如果有相关记录,则表示已经进行了登陆但没有退出,此时可以给出提示信息。  
   
  第二个问题:用上面的方法同样可以实现,在子页面的Page_Load事件中写入判断,如果用户信息在数据库,则表示已经登陆了,就可以浏览该页,如果没有查询到相关记录,表示用户尚未登陆就通过IE地址栏输入到该页的网址,此时,跳转到首页,让他登陆就可以了。Top

12 楼qwerttyy(今天也要快乐!)(每天回十帖)回复于 2005-12-02 18:46:49 得分 0

所有的方法都必须要用户退出Top

13 楼yefeihaha(学习)回复于 2005-12-02 21:43:18 得分 0

实现的不让同一个用户登陆      
  string   test   =   "username";  
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
        if(Application["User_"   +   test]   ==   null   ||   Application["User_"   +   test].ToString()   !=   Request.UserHostAddress)  
              Session["login"]   =   null;  
        else  
              Response.Write(Session["login"].ToString()   +   "已登录<br>");  
  }  
  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
  {  
        Session["login"]   =   test;  
        Application["User_"   +   test]   =   Request.UserHostAddress;  
  }Top

14 楼david8k(虽千万人而吾往矣)回复于 2005-12-02 22:13:08 得分 0

1.用数据库,麻烦  
  2.用Application  
  Top

15 楼spiderman111(www.dvpx.com(打造国内最大免费编程资源站))回复于 2005-12-02 22:44:34 得分 0

如果想长久保存数据用数据库,记录,登陆后做一标记  
   
  如果短时间的就SESSION或APPLICATIONTop

16 楼BearRui(孤熊 | 带你去看海!)回复于 2005-12-02 23:07:20 得分 0

在ASP.NET   中实现单点登录  
  作者:孟宪会   出自:【孟宪会之精彩世界】  
  http://dotnet.aspx.cc/ShowDetail.aspx?id=CF5FFABC-CFE1-4368-3C13-9B4FCD7C7168Top

17 楼firerains()回复于 2005-12-02 23:49:54 得分 0

用户非正常退出,怎么处理Top

18 楼jimu8130(火箭的未来在哪里?)回复于 2005-12-03 00:22:18 得分 0

所以还是用cookie来作咯    
  Top

19 楼jxjjljf(不用存储我不甘心啊)回复于 2005-12-03 14:40:02 得分 0

在数据库里设置一字段,开始默认为0,当第一次登陆就变成1表示登陆了,以后再有人登陆就可以去数据库里判断这个字段,为0就可以登陆,为1就不可以登陆.Top

20 楼califord(远方)回复于 2005-12-04 22:05:39 得分 0

请朋友们讲详细点好不?Top

相关问题

  • 求ASP防止多人用同一帐号同时登陆?
  • asp如何抓取局域网内的登陆帐号
  • 帐号登陆小问题^_^
  • 请问,如何用asp 实现会员无法使用同一帐号在两处地方同时登陆呢
  • 请问,如何用asp 实现会员无法使用同一帐号在两处地方同时登陆呢
  • 请问有关WIN2000帐号登陆的问题??
  • 如何防止相同的帐号登陆
  • 如何做排除重复帐号登陆的问题
  • 怎么防止同一个帐号多次登陆?
  • jdon版jive的登陆帐号和口令是多少?

关键词

  • asp.net
  • vb.net
  • 数据库
  • 用户
  • 帐号
  • 验证
  • application
  • 信息
  • 登陆
  • 实现

得分解答快速导航

  • 帖主:deny_crack
  • ivee

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo