.net页面权限问题

来源:百度知道 编辑:UC知道 时间:2024/09/25 13:21:05
用vs2008做的程序,有10多个页面,怎么设置只能从login.aspx页面打开,打开其他的页面跳转到login.aspx页面。
知道的大哥大姐们给指导详细点,谢谢

正常登陆后,你不是得用session或cookie保存用户信息嘛,
在每个页的Page_Load方法里检查用户信息是否存在
比如:
protected void Page_Load(object sender, EventArgs e)
{
//用户信息不存在,表示对方没登陆,跳到登陆页面
if(Session["UserID"]==null)
{
Response.Redirect(login.aspx);

}
}

在 web.config 中<system.web>下加上以下标记即可实现

<authentication mode="Forms">
<forms loginUrl="log.aspx">
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>

在login页面设置session存放登陆状态。
其他页面的pageload中
try{}catch{}该session是否存在,存在正常执行,不存在跳到login
扩展,根据session值的不同可以分别出不同的用户,给于不同的权限。

先写一个BasePage类继承Page
写个返回值为int取得id方法从服务器中找到有没ID HttpContext.Current.Session[keyname]
有则返回id编号 在写个方法判断是否登录 id>0 返回true
此时写个登陆方法if(!方法) 调用JS跳转到所需页面
页面初始化会调用这方法相当于if(!ispostback)
protected override v