zoukankan      html  css  js  c++  java
  • Session 身份验证

    1 Session 特点:

    (1)Session中的数据保存在服务器端; 
    (2)Session中可以保存任意类型的数据; 
    (2)Session默认的生命周期是20分钟,可以手动设置更长或更短的时间

    web.config 配置:

    程序webconfig配置:

    <system.web>
    <sessionState mode="InProc" timeout="180"/>

    </system.web>

    timeout里面设置的是分钟

    Session 身份验证的思路:

     每个客户端请求都会和服务器建立一个会话,会有一个唯一的SessionId, 客户端在收到SessionId之后可以将seesionId保存(比如保存在cookie中),然后每次通过cookie的sessionId去验证。

    1、用户向服务器发送用户名和密码。

    2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。

    3、服务器向用户返回一个 session_id,写入用户的 Cookie。

    4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。

    5、服务器收到 session_id,找到前期保存的数据,由此得知用户的身份

     

    缺点:

    时间较短,需要服务器设置,

    服务器挂了需要重新登录

    简单使用:

      public void LoginWithSession()
            {
                Session["User"] = new { Name="hnzheng",Passward="123" };
                Session["UserInfo"] = new { Name = "hnzheng", Passward = "123" };
    
                //保存session Id
                //Session.SessionID
    
            }
            //删除全部
            public string RemoveAllSession()
            {
                Session.Abandon();
                return$"sessionId:{Session.SessionID}";
            }
            //删除单个
            public string RemoveSingleSession()
            {
                if(Session["User"]!=null)
                {
                    Session["User"] = null;
                    Session.Remove("User");
                }
               
                return $"sessionId:{Session.SessionID}";
            }
    

      

  • 相关阅读:
    linux下的进程管理
    linux 下的rpm包管理
    计算机基础之OSI模型 & TCP协议簇
    计算机网络基础-IP分类及划分子网实例
    docker容器可被其他主机访问设置
    redis连接问题
    redis五大类型常用命令-string|list|hash|set|zset-订阅-事务
    docker login & push失败问题记录
    linux下 python 和 pip 安装换源及虚拟环境管理详解
    linux 查看系统版本号
  • 原文地址:https://www.cnblogs.com/hnzheng/p/12732047.html
Copyright © 2011-2022 走看看