Session对象的应用

Session应用

可以使用于安全性相比之下较高的场合,比如后台登录。
在管理员登录时,如果登录成功,则需要给管理员创建一个Session对象。
在后台登录中,管理员拥有一定的操作时间,如果在这段时间不进行任何操作,为了保证安全,后台将自动注销,如果管理员需要再次进行操作,则需要再次登录。

WebForm1.aspx代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Session使用实例</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="登录" onclick="Button1_Click" />
        <asp:Button ID="Button2" runat="server" Text="注销" onclick="Button2_Click" Visible=false />
        <br />
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
    </div>
    </form>
</body>
</html>

WebForm1.aspx.cs代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["admin"] != null)//如果Session[“admin”]不为空
            {
                if (String.IsNullOrEmpty(Session["admin"].ToString()))//则判断是否为空字符串
                {
                    Button1.Visible = true;//显式登录控件
                    Button2.Visible = false;//隐藏注销控件
                    //Response.Redirect("admin_login.aspx");//跳转到登录页面
                }
                else
                {
                    Button1.Visible = false;//隐藏登录控件
                    Label1.Text = "admin用户已登录";
                    Button2.Visible = true;//显式注销控件
                }
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Session["admin"] = "admin";//新增Session对象
            Response.Redirect("Session.aspx");//页面跳转
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            Session.Clear();//删除所有Session对象
            Response.Redirect("Session.aspx");
        }
    }
}

其中,Page_Load方法,判断是否已经存在Session对象。
如果存在,说明当前用户的权限是正常的,如果不存在Session对象,说明当前用户的权限不正确,或者是非法用户正在访问页面,可以直接跳转到登录页面,提示用户进行登录。

运行结果

这里写图片描述

登录之后

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值