ASP.NET 使用PageBase来控制用户登陆

简介: ASP.NET 使用PageBase来控制用户登陆,有时候发现在Web.Config文件里面写了禁止匿名登录的代码以后,要么就全部都登录不了网页,要么就是知道页面的名称,如Default.Aspx,然后在地址栏直接输入路径然后回车就进入系统了,可能是配置文件没有写好,总之觉得这种方法不是很好...

img_325472601571f31e1bf00674c368d335.gif

ASP.NET 使用PageBase来控制用户登陆,有时候发现在Web.Config文件里面写了禁止匿名登录的代码以后,要么就全部都登录不了网页,要么就是知道页面的名称,如Default.Aspx,然后在地址栏直接输入路径然后回车就进入系统了,可能是配置文件没有写好,总之觉得这种方法不是很好,还是使用PageBase来判断IE产生的Session数量要好一点,如下:

这个PageBase类:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

/// <summary>
///PageBase 的摘要说明
/// </summary>
public class PageBase : System.Web.UI.Page
{
    public PageBase()
    {
        //
        //TODO: 在此处添加构造函数逻辑
        //
    }

    private string sessionUserName;
    private string sessionPassword;

  
    public string SessionUserName
    {
        get { return this.sessionUserName; }
    }
    public string SessionPassword
    {
        get { return this.sessionPassword; }
    }  

    protected override void OnInit(EventArgs e)
    {
        if (base.Session["UserName"] == null || Session.Count < 2)
        {
            Response.Redirect("~/Login.aspx");
        }
        else
        {
            this.sessionUserName = Session["UserName"].ToString();
            this.sessionPassword = Session["Password"].ToString();           
        }
    }
}

 

然后在主页面里面继承这个PageBase类,

public partial class _Default : PageBase
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

相关文章
|
前端开发 JavaScript .NET
菜鸟入门【ASP.NET Core】14:MVC开发:UI、 EF + Identity实现、注册实现、登陆实现
前言 之前我们进行了MVC的web页面的Cookie-based认证实现,接下来的开发我们要基于之前的MvcCookieAuthSample项目做修改。 MvcCookieAuthSample项目地址:http://www.
2026 0
|
前端开发 中间件 .NET
【译】在Asp.Net Core 中使用外部登陆(google、微博...)
原文出自Rui Figueiredo的博文《External Login Providers in ASP.NET Core》 (本文很长) 摘要:本文主要介绍了使用外部登陆提供程序登陆的流程,以及身份认证的流程。
1646 0
|
Web App开发 .NET 开发框架
|
.NET 数据库 数据安全/隐私保护