ASP.NET FROMS验证出现的小问题解决过程

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 身份验证

  1. 如果应用程序的根目录中有 Web.config 文件,请打开该文件。

  2. 如果应用程序的根文件夹中没有 Web.config 文件,请创建一个名为 Web.config 的文本文件,并在其中添加下列元素:

    <?xml version="1.0"?>
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
        <system.web>
        </system.web>
    </configuration>
  3. system.web 元素中,创建一个 authentication 元素,并将它的 mode 属性设置为 Forms,如下面的示例所示:

  4. <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>
  5. system.web 元素中,创建一个 authorization 元素。

    <system.web>
      <authentication mode="Forms">
        <forms loginUrl="Logon.aspx" name=".ASPXFORMSAUTH">
        </forms>
      </authentication>
      <authorization>  </authorization>
    </system.web>
  6. authorization 元素中,创建一个 deny 元素,并将其 users 属性设置为“?”。这是指定将拒绝未通过身份验证的用户(由“?”表示)访问该应用程序中的资源。

    <system.web>
      <authentication mode="Forms">
        <forms loginUrl="logon.aspx" name=".ASPXFORMSAUTH">
        </forms>
      </authentication>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  7. 保存并关闭 Web.config 文件。

 

那么根据我这里的实际情况 修改WEB.CONFIG 如下:

      <authentication mode="Forms">
        <forms name="forums" path="/" loginUrl="login.aspx" protection="All" timeout="40">
        </forms>
      </authentication>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值