1。登录页面LOGIN.ASPX.CS 中将用户的信息写入了CONTEXT.USER
//把当前用户对象实例赋给Context.User,这样做将会把完整的用户信息加载到ASP.NET提供的验证体系中 Context.User = newUser;
2.在验证完毕后将用户信息打印出
string aaa = Context.User.Identity.Name;
结果发现始终是验证不了,跟踪发现这里的aaa变成了WINDOWS的登录用户信息,应该如何处理呢?
也就是说FORMS验证变成了WINDOWS验证了
查阅MSDN
FROMS验证:
通过 Forms 身份验证,可以使用所创建的登录窗体验证用户的用户名和密码。未经过身份验证的请求被重定向到登录页,用户在该页上提供凭据和提交窗体。如果应用程序对请求进行了验证,系统会颁发一个票证,该票证包含用于重建后续请求的标识的密钥。
使用 Forms 身份验证的一个简便方法是使用 ASP.NET 成员资格(它存储用户凭据)和 ASP.NET 登录控件(可用于创建登录页)。
一种使用 Forms 身份验证的方便途径是使用 ASP.NET 成员资格和 ASP.NET 登录控件。ASP.NET 成员资格提供了存储和管理用户信息的方式,并包含对用户进行身份验证的方法。ASP.NET 登录控件使用 ASP.NET 成员资格,并封装提示用户输入凭据、验证用户、恢复或替换密码等操作所需的逻辑。实际上,ASP.NET 成员资格和 ASP.NET 登录控件在 Forms 身份验证之上提供了一个抽象层,从而取代了要使用 Forms 身份验证通常必须完成的大部分甚至所有工作配置应用程序使用 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 文件。
那么根据我这里的实际情况 修改WEB.CONFIG 如下:
<authentication mode="Forms"> <forms name="forums" path="/" loginUrl="login.aspx" protection="All" timeout="40"> </forms> </authentication>