.Net 如何限制用户登录的方法_实用技巧

名词解析
       1.Cookies 按照英文单词翻译过来是“甜点”的意思。这个和我们计算机貌似没有什么关系。我们这里说的Cookies是指服务器在暂存在计算机上的一段资料。

       2.Session 按照英文单词翻译过来是“会话”的意思。存在于服务器的内存中。

 限制用户登录的一下场景
        1。比如QQ 我们在一处登录QQ之后。如果我们在另一台电脑上再次登录这个时候就会被踢下线

        2。我使用的邮箱也有上面情况

     这样做在很大的程度上面保证了。账号的安全。

  怎么样实现
方法1 :    在用户登录时将用户登录状态记录数据库中,每次登录时我们在数据库中查找用户是否登录。如果已经登录,做出相关的业务处理
方法2:     把用户登录状态的存在Session中
        方法1明显有一个缺点,假设在服务器突然断电的情况下。是不是就悲剧了。这个已经登录的用户的状态就会乱,直接将导致用户无法再次登录所以我们这里选在Cookies 和Session  来实现这个场景

  示例代码

复制代码 代码如下:

if (Session["LOGIN_USER_LIST"] != null)
            {
                Dictionary<Guid,UserInfo>  Userlist=  Session["LOGIN_USER_LIST"] as Dictionary<Guid,UserInfo>;
                Guid LoginKey =new Guid();
                Guid.TryParse(CookieHelper.getCookie("LOG_USER_KEY"), out LoginKey);
                if (Userlist.Keys.Contains(LoginKey))
                {
                    //如何用户登录
                }
                else
                {
                    //如果用户没有登录
                }

            }

希望上面简单的代码对大家有帮助

时间: 2024-10-27 20:30:31

.Net 如何限制用户登录的方法_实用技巧的相关文章

Asp.net中防止用户多次登录的方法_实用技巧

常见的处理方法是,在用户登录时,判断此用户是否已经在Application中存在,如果存在就报错,不存在的话就加到Application中(Application是所有Session共有的,整个web应用程序唯一的一个对象): string strUserId = txtUser.Text;  ArrayList list = Application.Get("GLOBAL_USER_LIST") as ArrayList;  if (list == null)  {  list = 

[Asp.Net MVC4]验证用户登录实现实例_实用技巧

最近我们要做一个仿sina的微博,碰巧的是我最近在学习mvc,就想用mvc技术实现这个项目. 既然是微博,那不用想也应该知道肯定要有用户登陆,但是和常规的asp.NET登陆又不一样,以下是我一下午+一晚上的研究成果~~~ 首先,建好数据库以及表,这就不用说了吧. 下面说一下主要的结构 控制器: HomeController 这是主页的控制器 LoginController 这是登陆的控制器 类: CDBTemplate.cs 这是数据库数据对应的类,里边描述的是数据库的结构 //////////

asp.net简单实现单点登录(SSO)的方法_实用技巧

本文实例讲述了asp.net简单实现单点登录(SSO)的方法.分享给大家供大家参考,具体如下: 单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统 CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架(耶鲁大学开发)主要用于Java Php 有兴趣大家可以研究下.. 下面是一个简单实现单点登录的

ASP.NET获取真正的客户端IP地址的6种方法_实用技巧

在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址. 要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取. 不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables(

ASP.NET防范SQL注入式攻击的方法_实用技巧

一.什么是SQL注入式攻击?  SQL注入式攻击就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击.常见的SQL注入式攻击过程类如:  ⑴ 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码.  ⑵ 登录页面中输入的内容将直接用来构造动态的SQL命令,或

ASP.NET中HTML页面的访问验证设置方法_实用技巧

可能有很多朋友和我一样不会留意到这样的问题,在ASP.NET中,使用其自身提供的访问验证功能(表单验证.Passport 验证.Windows 验证),并不会对静态文件(如 html.图像文件.文本文件等)进行访问限制,即使这些文件置于需要验证后才能访问的文件夹下,匿名用户仍然可以访问到这些文件.这是因为静态文件默认是由 IIS 处理,IIS 在接收到对这些文件的请求后,并不会转交给 ASP.NET 处理,所以,在 ASP.NET 中的权限验证失去了作用.换句话说,这些文件不在ASP.NET 的

MVC4制作网站教程第二章 部分用户功能实现代码_实用技巧

用户部分要实现的功能有: 序 一.用户  1.1用户注册  1.2用户登录  1.3修改密码  1.4修改资料 要实现这些目的首先新建用户(Model)模型 /// <summary> /// 用户模型 /// </summary> public class User { [Key] public int UserId { get; set; } /// <summary> /// 用户组Id /// </summary> [Display(Name=&qu

asp.net不同页面间数据传递的多种方法_实用技巧

1. Get(即使用QueryString显式传递)方式:在url后面跟参数.特点:简单.方便.缺点:字符串长度最长为255个字符:数据泄漏在url中.适用数据:简单.少量.关键的数据.适用范围:传递给自己.传递给另一个目标页面:常用于2个页面间传递数据.用法:例如:url后加?UserID=-,跳转到目标页面,目标页面在伺服端可用Request.QueryString["InputText"]获取其指定参数值. 2. Post方式:通用的方式.利用form提交.特点:最常用的方法.常

asp.net使用ODP即oracle连接方式的的防注入登录验证程序_实用技巧

网上有很多SQL连接方式的登录验证,但没有oracle连接方式的,我摸索了一上午写了这个可执行的函数,分享给大家 复制代码 代码如下: // 用户登录检查 public bool LoginCheck(string f_LoginName, string f_LoginPass) { bool result = false; // 正则表达式检查 if (Regex.IsMatch(f_LoginName,@"^[a-zA-Z0-9]{1,15}$") && Regex