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}";
            }
    

      

  • 相关阅读:
    javascript基础学习(三)
    javascript基础学习(二)
    javascript基础学习(一)
    php base64_encode()函数
    php fsockopen()
    php parse_url()函数
    SPL 文件处理
    CSS position的absolute和relative的解析[转]
    HTML demo
    php PDO setFetchMode
  • 原文地址:https://www.cnblogs.com/hnzheng/p/12732047.html
Copyright © 2011-2022 走看看