• 关于session


        在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。注意 会话状态仅在支持 cookie 的浏览器中保留。


    一、关于session的demo

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class demo1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(Session ["userInfo"]!=null)
            {
                Label1.Text ="当前登陆的是考务人员,用户名为:"+(string)Session ["userInfo"];
            }
            else
            {
                Label1.Text = "当前登录的是考生,用户名为:" + (string)Session["userInfo"];
            }
        }
        protected void redirectPath(string userRole, string loginName, string password)
        {
            if (userRole.Equals ("考务人员"))
            {
                string userInfo = loginName;
                if (loginName =="")
                {
                    Label1.Text = "<div class='label1'>账号密码不能为空</div>";
    
                }
                else 
                {
                    if (Session ["userInfo"]==null)//用session做判断
                    { 
                        Session["userInfo"] = userInfo; //给session赋值
                    }
                    else
                    { 
                        userInfo = (string)Session["userInfo"]; //用session给变量赋值
                    }
                }
               //Response.Redirect("Default.aspx");
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            if(Label2 .Text =="考务人员")
            {
                redirectPath("考务人员",TextBox1 .Text,TextBox2.Text);
            }
        }
    }


        在一个系统中有很多信息需要保存,以便后续使用,特别是个人信息登录的时候。学会使用Session来保留个人信息,对Session做判断,对Session赋值,用Session给变量赋值等这些方式是很方便的。


    二、关于session拓展

    首先cookie 和session 的区别:

        1)cookie数据存放在客户的浏览器上,session数据放在服务器上。

        2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。

        3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。

        4)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

        5)所以个人建议:

           将登陆信息等重要信息存放为SESSION

           其他信息如果需要保留,可以放在COOKIE中


    三、总结思考

        我感觉在权限登陆的时候蛮好用的,因为你可以暂时保存这些信息。经常我们在登陆网站之后上面写着:某某某已登录。这个就可以用于session写着。


  • 相关阅读:
    Kubernetes 用户流量接入方案
    给Nginx配置日志格式和调整日期格式
    唇亡齿寒,运维与安全
    Nginx记录用户请求Header到access log
    Kubernetes中利用Kubectl set 让Deployment更新镜像
    故障管理:故障定级和定责
    使用 Elastic 技术栈构建 Kubernetes全栈监控
    故障管理:鼓励做事,而不是处罚错误
    故障管理:谈谈我对故障的理解
    稳定性实践:开关和预案
  • 原文地址:https://www.cnblogs.com/tanqianqian/p/5975033.html
Copyright © 2020-2023  润新知