不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
身份验证和授权的另类实现思路
编辑:dnawo 日期:2008-08-27
在Web应用程序中,有些信息只对登录用户开放,这就要对用户身份进行验证,我们常用的方法是在用户登录成功后将用户信息保存在Session中,然后在需验证身份的页面中对Session中的值进行判断,例如:
每个需验证身份的页面都要写上这么几句,不仅繁琐而且代码也不美观,下边我们提供另一种思路:创建一个BasePage类,它继承自System.Web.UI.Page类,在这个类加载过程中就进行身份的验证,凡是需身份验证的页面只要继承自这个类即可:
BasePage类:
Manage.aspx.cs:
在BasePage类的基础上我们还可以创建一些子类,他们将对用户权限进行验证,以判断用户是否有访问资源的权限,这样就实现了授权,废话不多说了,有兴趣的朋友点击这里下载源码
复制内容到剪贴板
程序代码

public partial class Manage: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//身份验证
if (Session["UserName"] == null)
{
Response.Redirect("Login.aspx", false);
}
}
}
{
protected void Page_Load(object sender, EventArgs e)
{
//身份验证
if (Session["UserName"] == null)
{
Response.Redirect("Login.aspx", false);
}
}
}
每个需验证身份的页面都要写上这么几句,不仅繁琐而且代码也不美观,下边我们提供另一种思路:创建一个BasePage类,它继承自System.Web.UI.Page类,在这个类加载过程中就进行身份的验证,凡是需身份验证的页面只要继承自这个类即可:
BasePage类:
复制内容到剪贴板
程序代码

using System;
using System.Collections.Generic;
using System.Text;
using MzwuCom.Model;
using System.Web.UI;
namespace MzwuCom.UI
{
public class BasePage : System.Web.UI.Page
{
public UserInfo userInfo = new UserInfo();
/// <summary>
/// 构造函数
/// </summary>
public BasePage()
{
this.Load += new EventHandler(BasePage_Load);
}
/// <summary>
/// 加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void BasePage_Load(object sender, EventArgs e)
{
CheckUserLogin();
}
/// <summary>
/// 登录验证
/// </summary>
public void CheckUserLogin()
{
if (Session["UserName"]!=null)
{
userInfo.UserName = Session["UserName"].ToString();
userInfo.Level = Convert.ToInt32(Session["Level"]);
}
else
{
Response.Redirect("Login.aspx", false);
}
}
}
}
using System.Collections.Generic;
using System.Text;
using MzwuCom.Model;
using System.Web.UI;
namespace MzwuCom.UI
{
public class BasePage : System.Web.UI.Page
{
public UserInfo userInfo = new UserInfo();
/// <summary>
/// 构造函数
/// </summary>
public BasePage()
{
this.Load += new EventHandler(BasePage_Load);
}
/// <summary>
/// 加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void BasePage_Load(object sender, EventArgs e)
{
CheckUserLogin();
}
/// <summary>
/// 登录验证
/// </summary>
public void CheckUserLogin()
{
if (Session["UserName"]!=null)
{
userInfo.UserName = Session["UserName"].ToString();
userInfo.Level = Convert.ToInt32(Session["Level"]);
}
else
{
Response.Redirect("Login.aspx", false);
}
}
}
}
Manage.aspx.cs:
复制内容到剪贴板
程序代码

/// <summary>
/// 继承自 BasePage
/// </summary>
public partial class Manage : MzwuCom.UI.BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
//
}
}
/// 继承自 BasePage
/// </summary>
public partial class Manage : MzwuCom.UI.BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
//
}
}
在BasePage类的基础上我们还可以创建一些子类,他们将对用户权限进行验证,以判断用户是否有访问资源的权限,这样就实现了授权,废话不多说了,有兴趣的朋友点击这里下载源码







评论: 0 | 引用: 0 | 查看次数: 3812
发表评论
请登录后再发表评论!