求助:关于保护部分页面
部分页面需要保护,我是这样设的:
web.config里加了个密码,在login.aspx登陆:
<configuration>
<appSettings>
<add key="密码" value="******" />
</appSettings>
然后在受保护的页面上加了如下代码来重定向:
<script Language="vb" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
If Session("name") = "" Then
Response.Redirect("login.aspx")
End If
End Sub
</script>
但是并不好用,有时登陆后,页面显示会出错
请问诸位高手,对于部分受保护的页面,怎么处理比较好呢?(另外,安全性高一点)最好给出相关代码,俺是初学者,先谢了
问题点数:100、回复次数:9Top
1 楼netren2000()回复于 2005-08-31 11:48:20 得分 65
我是写了一个类,然后让那些需要保护的页面继承它!Top
2 楼netren2000()回复于 2005-08-31 11:54:03 得分 0
using System;
using System.Web;
using System.Web.UI;
using System.Web.SessionState;
namespace PMMSWeb.DataAccessor.DataProject
{
public class BasePage : System.Web.UI.Page
{
public BasePage()
{
}
protected override void OnInit(EventArgs e)
{
string str="-1";
base.OnInit(e);
try
{
str=Session["UserID"].ToString();
}
catch
{
Response.Redirect("../ProjectManage/Error.aspx");
}
finally
{
if(str=="")
{
Response.Redirect("../ProjectManage/Error.aspx");
}
}
//this.Load += new System.EventHandler(this.BasePage_Load);
}
}
}Top
3 楼apilove(apilove)回复于 2005-08-31 11:54:49 得分 0
能给出代码吗?Top
4 楼pontus(pontus)回复于 2005-08-31 11:55:11 得分 15
forms验证Top
5 楼netren2000()回复于 2005-08-31 11:56:09 得分 0
然后让其他页面不要继承 System.Web.UI.Page
而是直接继承 BasePage就可以;
这是我的做法,可能有更好的!:)Top
6 楼apilove(apilove)回复于 2005-08-31 11:58:34 得分 0
为什么我在页面上加入:"如果session为空,重定向"的代码后,有时会出现页面报错呢?
是这个方法不够好,还是我实现的不好?Top
7 楼pontus(pontus)回复于 2005-08-31 12:00:52 得分 0
forms验证Top
8 楼apilove(apilove)回复于 2005-08-31 12:34:42 得分 0
upTop
9 楼netren2000()回复于 2005-08-31 13:42:25 得分 20
那可能是Session本身的问题.
这个方法理论上应该可以;
我用的是windows验证,你也可以采用楼下说的验证方式;Top




