如何使一些页面无法通过直接输入路径进行访问?
首页作为输入帐号密码,只有验证成功才允许其进入下一页。如何做到这一点?
谢谢!
问题点数:100、回复次数:9Top
1 楼laoa(东岳山庄)回复于 2003-09-01 19:30:14 得分 10
举个简单例子:
LOGIN页里通过验证后,放一句Response.Redirect("default.aspx")
加个SESSION,TIMEOUT变长点。
在default.aspx里加一句if Session("ConnStr").IsConnect=false then response.redirect("login.aspx")Top
2 楼laoa(东岳山庄)回复于 2003-09-01 19:32:41 得分 0
甚至你就把判断SESSION放在Application_BeginRequest事件里,每次请求都判断一下。
哈哈,只是有一点不好:这样做数据量会大一点。Top
3 楼steveson(steveson)回复于 2003-09-01 19:38:11 得分 10
在web.config中:
<?xml version="1.0" encoding="utf-8"?>
<system.web>
<configuration>
<authentication mode="Forms">
<forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" />
</authentication>
</system.web>
</configuration>Top
4 楼steveson(steveson)回复于 2003-09-01 19:39:40 得分 0
接上:
则只有通过login.aspx的验证之后,才能访问其它页面。Top
5 楼jjcccc(就这样吧)回复于 2003-09-01 20:05:24 得分 40
在APS.net时最好用.Net的认证,例如若采用Form认证,则首先在web.config中配置:
</system.web>
<!--其它配置-->
<authentication mode="Forms">
<forms name="MyWeb" loginUrl="login.aspx" protection="All" timeout="30">
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
<!--其它配置-->
</system.web>
在登录代码中:
若登录成功则:
FormsAuthentication.RedirectFromLoginPage(userName,false);//其中userName是用户登录名或你愿意的任何字符串
若要退出登录或注销则:
FormsAuthentication.SignOut();//在这之前,用户访问受保护页面时均会自动转向login.aspxTop
6 楼Johnrade(Johnrade)回复于 2003-09-01 20:07:13 得分 0
我不是很清楚 mode = "Forms" 和 forms name = ".ASPXUERDEMO" 的意思,能否解释一下?Top
7 楼guoyan19811021(吉祥)回复于 2003-09-01 20:08:43 得分 10
<?xml version="1.0" encoding="utf-8"?>
<system.web>
<configuration>
<authentication mode="Forms">
<forms name=".ASPXUSERDEMO" loginUrl="xxxx.aspx" protection="All" timeout="60" />
</authentication>
</system.web>
</configuration>
Top
8 楼newpant(Fly)回复于 2003-09-01 20:22:05 得分 30
mode属性的可能值
Windows
将 Windows 验证指定为默认的身份验证模式。当使用以下任意形式的 Microsoft Internet 信息服务 (IIS) 身份验证时使用该模式:基本、简要、集成的 Windows 验证 (NTLM/Kerberos) 或证书。
Forms
将 ASP.NET 基于窗体的身份验证指定为默认的身份验证模式。
Passport
将 Microsoft Passport 身份验证指定为默认的身份验证模式。
None
不指定任何身份验证。只有匿名用户是预期的或者应用程序可以处理事件以提供其自身的身份验证。
Form标签中的name属性值的含意
指定要用于身份验证的 HTTP Cookie。默认情况下,name 的值是 .ASPXAUTH。如果在单个服务器上正运行多个应用程序并且每一应用程序均要求唯一的 Cookie,则您必须在每一应用程序的 Web.config 文件中配置 Cookie 名称。Top
9 楼Johnrade(Johnrade)回复于 2003-09-01 20:38:05 得分 0
谢谢各位,可以解决了。有没有办法实现logout?也就是使cookie失效?Top




