您的位置:首页 > 编程语言 > ASP

ASP.NET基于表单的验证实现网上安全访问,管理(1)

2004-07-08 14:29 876 查看
什么时候用?

比如ASP.NET程序的一个Admin文件夹,是专门进行网上管理用的(比如后台数据维护),一般访问者不能访问里面的所有文件.只有通过验证的用户才能访问.按照以前的ASP的做法,是在用户通过Login页面时,设置Session(即Cookie)来判断用户是否通过验证,每个Admin文件夹里的页面文件都要设置验证语句,而且并不是很安全,这个时候,ASP.NET的4种验证方式之一:基于表单的验证就派上了用场.您做的仅是在Admin文件夹里面放置一个只有几行语句的Web.config文件.

怎样用?

这个问题您可以去看书籍上的介绍(Wrax出版的《ASP.NET高级编程》),不过,我这里有自己常用的方式,不妨看看.
文件目录为:
+BIN
+Admin
- *.aspx
- web.config //Admin文件夹下的web.config
login.aspx
web.config //根目录的web.config
1,根目录的web.config的配置

<configuration>
<system.web>
<authentication mode="Forms">
<forms name="mycookiename" loginUrl="login.aspx" protection="All" timeout="30">
</forms>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</configuration>

2,Admin文件夹下的web.config的配置

<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>

3,login.aspx的配置
此页面就是一个验证登陆页面:

<asp:textbox id=textname runat=server/>帐号
<asp:textpassword id=textpassword runat=server>密码
<asp:checkbox id=mycheckbox runat=server/>是否记住密码,永久登陆
<asp:button runat=server onclick=btnloginclick text=登陆/>

处理事件1(当用户点击登陆按钮时候)

void btnloginclick(Object sender,EventArgs e)
void Page_Load(Object sender,EventArgs e)

4,注销验证:
用FormsAuthentication.SignOut();

其实,上述方案并不是很安全的解决方案.只是很实用,简单,又比较安全的验证解决方案.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: