简单问题,请高手们赐教,小弟感谢你们!
我的页面有很多都要判断权限,
以前在ASP里面用的是<!--#include file="login.asp"-->
在ASP.NET里面,我不可能每个页面都写这名话吧,有没有好的方法。
if (Request.Cookies["username"]==null)
{
Response.Redirect("aa.asp");
Response.End();
}
问题点数:20、回复次数:10Top
1 楼zhongxt(天若有情天亦老)回复于 2005-09-14 09:07:16 得分 0
顶Top
2 楼Peryee(爱笑)回复于 2005-09-14 09:08:19 得分 2
用ASP.NET的FORM身份验证可以解决你这个问题Top
3 楼zhongxt(天若有情天亦老)回复于 2005-09-14 09:11:57 得分 0
请大哥写一下代码?Top
4 楼zhuxiaojun2002(车房志之扯坏的领带)回复于 2005-09-14 09:13:42 得分 18
写个基类,把
if (Request.Cookies["username"]==null)
{
Response.Redirect("aa.asp");
Response.End();
}
写在基类中,然后让每个页面继承基类就ok了。Top
5 楼zhuxiaojun2002(车房志之扯坏的领带)回复于 2005-09-14 09:17:06 得分 0
using System;
using System.Web;
using System.Web.SessionState;
using System.Data;
using System.Data.SqlClient;
namespace Project.Component
{
/// <summary>
/// AdminPage 的摘要说明。
/// </summary>
public class AdminPage :BasePage
{
protected Project.Business.DBOperator.AdminManage AdminM=new Project.Business.DBOperator.AdminManage();
public AdminPage() :base()
{
this.Load += new EventHandler(AdminPage_Load);
}
private void AdminPage_Load(object sender,EventArgs e)
{
//后台页面处理
if(MySession.getSession("AdminId")==null)
{
Response.Write("<script language='javascript'>alert('您还没登录!');window.location='../login.aspx';</script>");
}
//可以在此加入权限处理
if(MySession.getSession("AdminId")!=null&&MySession.getSession("AdminId").ToString()!="")
{
string url=HttpContext.Current.Request.Url.ToString();
DataTable dt=AdminM.GetWebManageRight();
for(int i=0;i<dt.Rows.Count;i++)
{
if (url.ToLower().ToString().IndexOf(dt.Rows[i]["rightUrl"].ToString().ToLower())>=0)
{
if(MySession.getSession("AdminOs").ToString().ToLower().IndexOf(dt.Rows[i]["rightCode"].ToString().ToLower()) < 0)
{
Response.Write("<script language='javascript'>alert('您没有该模块的权限!');window.history.back();</script>");
}
}
}
}
}
}
}
后台的所有页面都继承了AdminPage,不但做了是否登陆判断,还做了权限判断Top
6 楼zhongxt(天若有情天亦老)回复于 2005-09-14 09:19:03 得分 0
zhuxiaojun2002 大哥,你好!
麻烦你 “写基类,后面的继承”给个例子。谢谢,我是一个初学者。
Top
7 楼zhuxiaojun2002(车房志之扯坏的领带)回复于 2005-09-14 09:21:26 得分 0
其实最好是用 Peryee(爱笑)的方法,FORM身份验证.
可惜我不会,Top
8 楼zhuxiaojun2002(车房志之扯坏的领带)回复于 2005-09-14 09:26:21 得分 0
呵呵,所有权限页面
using Project.Component;
namespace Project.WebManage.Member
{
/// <summary>
/// aud_user 的摘要说明。
/// </summary>
public class aud_user : AdminPage//System.Web.UI.Page
把System.Web.UI.Page改成你的基类名我这是AdminPage
基类就是我上面的代码,不过我的AdminPage 还继承了BasePage
去掉我上面的权限判断的,
改成这样
public class AdminPage :System.Web.UI.Page就是你想要的Top
9 楼zhuxiaojun2002(车房志之扯坏的领带)回复于 2005-09-14 09:31:09 得分 0
呵呵,慢慢来,记得发军饷了请我抽大烟哦哈哈,开个玩笑!
如果还不会,自己查查书,学学了。Top
10 楼zhongxt(天若有情天亦老)回复于 2005-09-15 08:39:12 得分 0
zhuxiaojun2002(车房志之扯坏的领带)
没问题,发军响时请你喝酒都没问题。Top




