.net forms身份验证的问题
我用的.net forms的身份验证,但现在出现一个问题,就是当一个管理员成功登录后,其它的人不登录就可以直接访问后台页面了不会被返回到登录页面,但如果管理没有登录,其它的人都访问不了
------解决方案--------------------如果应用程序的根目录中有 Web.config 文件,请打开该文件。
如果应用程序的根文件夹中没有 Web.config 文件,请创建一个名为 Web.config 的文本文件,并在其中添加下列元素:
复制代码
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
</system.web>
</configuration>
在 system.web 元素中,创建一个 authentication 元素,并将它的 mode 属性设置为 Forms,如下面的示例所示:
复制代码
<system.web>
<authentication mode="Forms"> </authentication>
</system.web>
在 authentication 元素中,创建一个 forms 元素,并设置下列属性:
loginUrl 设置为“Logon.aspx”。Logon.aspx 是 ASP.NET 在找不到包含请求内容的身份验证 Cookie 的情况下进行重定向时所使用的 URL。
name 设置为“.ASPXFORMSAUTH”。这是为包含身份验证票证的 Cookie 的名称设置的后缀。
复制代码
<system.web>
<authentication mode="Forms">
<forms loginUrl="Logon.aspx" name=".ASPXFORMSAUTH"> </forms>
</authentication>
</system.web>
在 system.web 元素中,创建一个 authorization 元素。
复制代码
<system.web>
<authentication mode="Forms">
<forms loginUrl="Logon.aspx" name=".ASPXFORMSAUTH">
</forms>
</authentication>
<authorization> </authorization>
</system.web>
在 authorization 元素中,创建一个 deny 元素,并将其 users 属性设置为“?”。这是指定将拒绝未通过身份验证的用户(由“?”表示)访问该应用程序中的资源。
复制代码
<system.web>
<authentication mode="Forms">
<forms loginUrl="logon.aspx" name=".ASPXFORMSAUTH">
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
保存并关闭 Web.config 文件。