1。修改Web.Config:Visual Studio.Net2003 默认的是window身份的验证,首先将它修改为Form表单验证,删除原有的代码
和代码:
然后在<system.web> 节点中加上
有关参数,可以参见MSDN, "loginUrl"就是导航的页面,做到这步,你会发现,首次运行的时候您会发现没有任何的问题,注销用户返回登录页面的时候,再次在地址栏中输入其他的页面,又可以访问,这是问题的关键之处,这就需要你对登录进行操作了,在对用户名进行判断的时候加上一句代码
FormsAuthentication.RedirectFromLoginPage(this.txtName.Text.ToString(),true);
这句代码就是判断时候用Form表单验证的方法,从而调用Web.Config里面的配置,使页面重定向,还有,在注销的时候,或者用户离开的时候加上以下代码:
FormsAuthentication.SignOut();//移除用户的身份,这样就可以实现用户步登录始终停留在登录页面,登录后可以浏览其他网页,注销后又返回未登录状态 FormsAuthentication 在命名空间using System.Web.Security;下.
<authorization>
<allow users="*"/> <!-- 允许所有用户 -->
<!-- <allow users="[逗号分隔的用户列表]"
roles ="[逗号分隔的角色列表]"/>
<deny users="[逗号分隔的用户列表]"
roles ="[逗号分隔的角色列表]"/>
-->
</authorization>
<allow users="*"/> <!-- 允许所有用户 -->
<!-- <allow users="[逗号分隔的用户列表]"
roles ="[逗号分隔的角色列表]"/>
<deny users="[逗号分隔的用户列表]"
roles ="[逗号分隔的角色列表]"/>
-->
</authorization>
<authentication mode="Windows"
/>
然后在<system.web> 节点中加上
<
authentication mode
=
"
Forms
"
>
< forms name = " .aaa " protection = " All " path = " / " timeout = " 30 " loginUrl = " /Login.aspx " />
</ authentication >
<!-- 授权此节设置应用程序的授权策略。可以允许或拒绝用户或角色访问
应用程序资源。通配符: " * " 表示任何人, " ? " 表示匿名
(未授权的)用户。
-->
< authorization >
< deny users = " ? " />
</ authorization >
< forms name = " .aaa " protection = " All " path = " / " timeout = " 30 " loginUrl = " /Login.aspx " />
</ authentication >
<!-- 授权此节设置应用程序的授权策略。可以允许或拒绝用户或角色访问
应用程序资源。通配符: " * " 表示任何人, " ? " 表示匿名
(未授权的)用户。
-->
< authorization >
< deny users = " ? " />
</ authorization >
FormsAuthentication.RedirectFromLoginPage(this.txtName.Text.ToString(),true);
这句代码就是判断时候用Form表单验证的方法,从而调用Web.Config里面的配置,使页面重定向,还有,在注销的时候,或者用户离开的时候加上以下代码:
FormsAuthentication.SignOut();//移除用户的身份,这样就可以实现用户步登录始终停留在登录页面,登录后可以浏览其他网页,注销后又返回未登录状态 FormsAuthentication 在命名空间using System.Web.Security;下.