ASP.NET FROMS驗證出現的小問題解決過程

來源:互聯網
上載者:User
文章目錄
  • 配置應用程式使用 Forms 身分識別驗證

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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.