使用ASP.NET中的Login控件

1、系統默認情況下會啓用Windows身份認證。只有啓用了Forms身份驗證後,才能使用Login控件。在跟目錄的web.config中啓用:
<configuration>
 <system.web>
      <authentication mode="Forms"/>
 </system.web>
</configuration>


2、在某個文件夾中設置訪問限制,可以在文件夾中添加一個web.config代碼如下:
<configuration>
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
</configuration>
說明:deny表示禁止,?表示匿名用戶。如果匿名用戶訪問此文件夾中的文件,則被禁止,且被重定向到一個名爲Login.aspx的頁面上(默認情況下,Login.aspx放在根目錄下)

3、訪問一個設置權限的頁面,被阻止後重定向到Login.aspx頁面,此時在login.aspx地址後加一個名稱爲ReturnUrl的QueryString,登陸成功後再通過ReturnUrl的值導航到先前訪問的頁面。如果Login.aspx頁面沒有ReturnUrl這個QueryString則默認情況下是導航到Default.aspx(前提是該頁面必須存在)。還有一種情況是Login控件不是放在Login.aspx頁面上(只有Login.aspx頁面才能自動處理ReturnUrl),此時頁面忽略處理ReturnUrl參數。


4、頁面中如果已經通過驗證,則不顯示登陸控件(或者提示友好的登陸信息如“歡迎XX登陸”):設置Login控件的VisibleWhenLoggedIn屬性爲false。


5、創建Login控件的模板時候,使用以下控件相關屬性值,便可實現跟默認佈局一樣的功能:
TextBox:ID=UserName,Password,RememberMe,FailureText
Button:CommandName=Login


6、使用配置文件中的用戶名、密碼進行登錄驗證。必須啓用登錄控件的OnAuthenticate事件。在事件處理程序中,e.Authenticated = FormsAuthentication.Authenticate(userName,password)。
其中FormsAuthentication.Authenticate用來驗證存儲在配置文件中的用戶名密碼,成功返回ture。e.Authenticated用來告訴系統(網站)驗證是否成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章