成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET登陸控件的簡單用法

開發 后端
ASP.NET登陸控件詳解:通過Login控件、Loginname和LoginStatus控件等6大控件的簡單用法及新增加的Membership API的簡單使用。

ASP.NET登陸控件比較多,封裝了大部分WEB應用中要實現系統登陸的系列功能,涉及到很多方面,本文將簡單介紹一下它們的主要功能。

ASP.NET 2.0中,新增了許多新的功能和控件。其中,新增的登陸控件可謂使得WEB應用的設計更加得心應手。什么是登陸控件呢?就是我們平常在WEB應用中經常要用到的用戶注冊,登陸,忘記密碼,登陸后根據權限的不同而顯示不同的頁面等功能,現在在ASP.NET 2.0中都已經可以由提供的控件來實現了。ASP.NET登陸控件比較多,封裝了大部分WEB應用中要實現系統登陸的系列功能,涉及到很多方面,本文將簡單介紹一下它們的主要功能。

首先,ASP.NET2.0中,為了更方便創建和管理用戶,以及對 Web 應用程序中的頁進行密碼保護,引進了新的框架membership。新的框架包含用于處理身份驗證和授權的新增功能,能夠同時滿足 Web 站點管理員和開發人員的需要。Web 站點管理員可以利用新的 Web 站點管理工具來創建新的用戶和角色,以及控制對 Web 應用程序中頁面的訪問。Web 站點管理工具是一組預先編寫的 ASP.NET 2.0頁,不具備編程技巧的用戶可以使用它們來配置 Web 應用程序。利用membership API,編程人員可以很方便地使用拖拉控件的方法,再加以少量的代碼,就可以完全實現對用戶,角色權限等的管理,還可以自定義做擴充。

其中,membership框架中包含了兩個默認的用戶驗證程序:默認的 AccessMembershipProvider以及 SqlMembershipProvider。如果希望在 Microsoft SQL Server 數據庫中存儲成員身份信息,則可以將應用程序配置為使用 SqlMembershipProvider,如果要使用access數據庫,則使用AccessMembershipProvider。還可以創建自定義成員身份提供程序。例如,如果需要在 XML 文件、或 Oracle 數據庫中存儲成員身份信息,希望創建自己的成員身份提供程序,則需要實現抽象類MembershipProvider 的所有方法和屬性。本文中,將以access數據庫為例子做說明,所以使用Accessmembershipprovider。

我們可以使用ASP.NET2.0自帶的WEB站點安全配置工具,就可以無需編程,在系統向導的帶領下,自動建立一個存儲用戶角色身份的數據庫了。比如,我們現在需要建立一個access的數據庫,里面存儲用戶名,密碼,密碼提示問題,用戶EMAIL等資料,則可以通過web站點安全配置工具來實現。步驟如下:

1)先使用visual studio express 2005建立一個WEB站點,命名為Dorknozzle,使用VB.NET語言,之后,我們點選Visual studio express中的WebSite菜單中的ASP.NET 2.0 Configuration,這時會彈出一個新的頁面窗口,其中選擇Security選項,如下圖:

Security選項

2) 從上圖可以看到,安全設置選項被分為三部分:用戶,角色和規則。由于我們是***次配置,選擇“To configure security step by step, use the Security Setup Wizard”,在出現的界面點“NEXT”進入下一步。

在第二步中,你可以選擇驗證的類型,比如你的站點是發布在internet還是intranet,再點next進入下一步,系統會提示目前是使用AspnetAccessProvider ,繼續點下一步,系統會詢問是否創建基于角色的應用,如果應用中要用到角色,就必須將那個單選框打勾,本文不選擇該項,繼續下一步。

3) 此時,系統會詢問我們輸入創建用戶的信息,如下圖,比如輸入用戶名,密碼,EMAIL等信息。在輸入后,點NEXT進入下一步。

輸入界面

4)系統會允許你對某一用戶進行有關規則的詳細設置,比如允許某一用戶行駛或拒絕使用某角色等。本文將忽略不用,繼續選NEXT進下一步,此時,完成了系統的初步配置了。

此時,AccessMembershipProvider會自動在當前工程的data目錄下,創建一個AspNetDB的ACCESS數據文件,打開它,會發現自動生成了相關的表格,比如有aspnet_users表,存放用戶的基本信息,aspnet_membership表,存放用戶加密的密碼和其他信息。

在進行完上面的步驟后,下面我們開始認識并使用ASP.NET 2.0 2.0中的登陸控件。這些控件在工具箱的Login選項組中,共有Login, LoginView, PasswordRecovery, LoginStatus, LoginName, CreateUserWizard, ChangePassword 共7個,下面逐一介紹:

#p#

Login控件

拖拉一個Login控件到窗體中,就發現和平時見到的登陸窗口差不多了,在該控件的屬性窗口中,比較重要的是DestinationPageUrl 屬性,該屬性將指定用戶在登陸后跳轉的頁面,而FailureText表示登陸失敗后提示的文本,CreateUserText表示創建新用戶的提示文本,PasswordRecoveryText表示提示密碼的文本,PasswordRecoveryUrl表示實現密碼提示恢復功能的鏈接,此外可以設置其很多屬性,比如顯示用戶名,密碼的文本,登陸按鈕PasswordRecoveryUrl的文本等,都十分簡單,大家可以去試一下,初步設置屬性后的登陸框如下圖:

Login控件

Loginname和LoginStatus控件

一般的登陸模塊,當用戶在成功登陸后,會顯示用戶當前登陸的身份,比如“歡迎XXX用戶登陸”的提示,而同時會顯示“LOGOUT(退出)”的提示,這時,我們可以通過Loginname和loginstatus控件來實現,在index.aspx頁中,加入

  1. 〈form runat="server" 〉  
  2.    
  3. Welcome 〈asp:LoginName id="lnUser" runat="server"/ 〉,   
  4. your login was successful!〈br / 〉〈br / 〉  
  5.  
  6. 〈asp:LoginStatus id="lsUSer" runat="server"/ 〉  
  7.    
  8. 〈/form 〉 

則當用戶登陸后,會顯示如下:

Loginname和LoginStatus控件

LoginView控件

另一十分有用的控件就是loginview。它會根據用戶角色的不同而顯示不同的登陸后的內容。比如,做為管理員在登陸后,希望能看到所有部門的人員信息,而只希望某一部門的人員看到只屬于該部門的信息,LoginView控件可以做到這點。本文的例子中,希望系統顯示給匿名訪問者的信息是希望他們注冊用戶,而對于已經登陸的用戶,則顯示歡迎他們再次訪問的文字。此時要用到Loginview控件的AnonymousTemplate模版和LoggedInTemplate模版。

AnonymousTemplate模版用于顯示給匿名用戶時的提示信息,LoggedInTemplate模版用于顯示給已經登陸用戶的提示信息,代碼如下:

  1. 〈 asp:LoginView id="lvDorknozzle" runat="server" 〉   
  2. 〈 LoggedInTemplate 〉   
  3. Welcome   
  4. 〈 asp:LoginName id="lnUser" runat="server"/ 〉   
  5. 〈 /LoggedInTemplate 〉   
  6. 〈 AnonymousTemplate 〉   
  7. Welcome to the Dorknozzle site!〈 br / 〉   
  8. Please click on the New User link   
  9. to register on our site.   
  10. 〈 /AnonymousTemplate 〉   
  11. 〈 /asp:LoginView 〉 

運行如下圖:

Loginname和LoginStatus控件

 #p#

CreateUserWizard控件

使用該控件,可以很方便地一步步引導用戶進行注冊。拖拉其到設計窗體中,如下圖:

CreateUserWizard控件 

當然,你可以對其屬性進行更多地設置;

比如,設置HeaderTemplate(頭模版),StartNavigationTemplate(開始注冊模版),FinishNavigationTemplate(結束注冊模版)等,具體設置可以參考在線幫助。而該控件還允許當注冊成功后向用戶發郵件,比如:

  1. 〈 asp:CreateUserWizard id="CreateUserWizard1"   
  2. runat="server"〉   
  3. 〈 MailDefinition   
  4. BodyFileName="NewUserEmail.txt"   
  5. From="welcome@dorknozzle.com"   
  6. Subject="Welcome to the Dorknozzle site!"/〉   
  7. 〈 /asp:CreateUserWizard〉 

而發郵件則需要在web.config文件中配置,比如:

  1. 〈configuration〉   
  2. 〈system.web〉   
  3. 〈authentication mode="Forms"/〉   
  4. 〈smtpMail serverName="Localhost"/〉   
  5. 〈/system.web〉   
  6. 〈/configuration〉 

PasswordRecovery密碼恢復控件

該控件可以實現簡單地密碼提示恢復功能,并將密碼email給用戶,代碼如下:

  1. 〈asp:PasswordRecovery id="prForgotPass"   
  2. runat="server"  〉   
  3. 〈/asp:PasswordRecovery  〉 

實現時如下圖所示:

PasswordRecovery密碼恢復控件 

用戶輸入用戶名后,則需要輸入密碼恢復的答案,如下圖:

PasswordRecovery密碼恢復控件 

并在該控件中設置將恢復后的密碼EMAIL給用戶

  1. 〈asp:PasswordRecovery id="prForgotPass"   
  2. runat="server"  〉   
  3. 〈MailDefinition   
  4. BodyFileName="forgotpassword.txt"   
  5. From="helpdesk@dorknozzle.com"   
  6. Subject="Word has it, you forgot   
  7. your password?"/  〉   
  8. 〈/asp:PasswordRecovery  〉 

ChangePassword 更改密碼控件

更改密碼的ASP.NET登陸控件可以很方便地實現密碼的更改,包括一個 MailDefinition 屬性。如果將值賦給 MailDefinition 屬性,則 ChangePassword 控件在密碼成功更改時將自動向用戶發送一個電子郵件。

ChangePassword 更改密碼控件 

直接使用Membership API

有時候,需要對成員身份進行更高級別(比 Web 站點管理工具或 Login 控件提供的控制級別高)的控制。在這些情況下,可以直接使用 Membership API。

Membership API 是通過 Membership 類公開的。Membership 類包含的方法使您能夠完成以下工作:創建新用戶;更改密碼;搜索與特定條件匹配的用戶等等。在幕后,Login 控件使用這些方法與已配置的成員身份提供程序進行交互。

下面列出了 Membership 類的一些比較重要的方法:

CreateUser — 使您能夠創建新用戶。

DeleteUser — 使您能夠刪除現有用戶。

FindUsersByEmail — 使您能夠檢索與某個特定的電子郵件地址匹配的用戶集合。

FindUsersByName — 使您能夠檢索與某個特定的用戶名匹配的用戶集合。

GeneratePassword — 使您能夠生成隨機密碼。

GetAllUsers — 使您能夠檢索成員身份提供程序中存儲的所有用戶。

GetNumberOfUsersOnline — 使您能夠返回當前正在訪問 Web 應用程序的用戶數。

GetUser — 使您能夠檢索與當前用戶相關聯的成員身份信息,或者使您能夠檢索與某個已經提供用戶名的用戶相關聯的成員身份信息。

GetUsernameByEmail — 使您能夠檢索具有某個特定電子郵件地址的用戶的用戶名。

UpdateUser — 使您能夠更新特定用戶的信息。

ValidateUser — 使您能夠根據成員身份提供程序對用戶進行身份驗證。

***,我們利用該API,實現稍微復雜的功能。在index.aspx中,添加一個label控件,顯示在線的人數,代碼如下:

  1. Number of Users Online:   
  2. 〈asp:Label id="lblNumUsersOnline" runat="server"/〉 

在PAGE-LOAD事件中,增加代碼如下:

  1. Sub Page_Load(s As Object, e As EventArgs)  
  2. Handles MyBase.Load   
  3. lblNumUsersOnline.Text = _   
  4. Membership.GetNumberOfUsersOnline().ToString()   
  5. End Sub 

則可以顯示在線人數。我們并且再添加一個gridview,顯示所有用戶的在線狀況,是否允許某種權限和相關的信息。

  1. 〈asp:GridView id="gvUsers" runat="server"   
  2. AutoGenerateColumns="False"〉   
  3. 〈Columns〉   
  4. 〈asp:BoundField HeaderText="Username"   
  5. DataField="Username" /〉   
  6. 〈asp:BoundField HeaderText="Is Online?"   
  7. DataField="IsOnline" /〉   
  8. 〈asp:BoundField HeaderText="Is Approved?"   
  9. DataField="IsApproved" /〉   
  10. 〈asp:BoundField HeaderText="Email"   
  11. DataField="Email" /〉   
  12. 〈/Columns〉   
  13. 〈/asp:GridView〉 

并將gridview綁定:

  1. gvUsers.DataSource = Membership.GetAllUsers() ;  
  2. gvUsers.DataBind(); 

***運行結果如下圖:

ChangePassword 更改密碼控件 

總結

本文以實際例子,介紹了ASP.NET 登陸控件的簡單用法以及新增加的Membership API的簡單使用,更多的請參考MSDN或正式版時的有關介紹。

 

【編輯推薦】

  1. ASP.NET 2.0環境下的Shell函數
  2. 在ASP.NET 2.0中向數據庫批量插入數據
  3. ASP.NET 2.0用Post方式向網頁發送數據
  4. ASP.NET 2.0 2.0部署WEB應用程序淺析
  5. ASP.NET 2.0中的HttpWorkerRequest對像
  6. 介紹ASP.NET 2.0 MVC框架
  7. 配置ASP.NET 2.0 AJAX概述
責任編輯:冰荷 來源: yesky
相關推薦

2009-08-27 17:20:30

ASP.NET登陸控件membership配

2009-07-27 13:52:36

Panel控件ASP.NET

2009-09-09 09:09:17

ASP.NET MVC

2011-07-12 15:17:02

ASP.net服務器控件

2009-07-24 15:35:00

ASP.NET Gri

2009-08-17 09:24:25

ASP.NET控件

2009-07-27 17:25:53

ASP.NET驗證控件

2009-08-03 15:08:00

SqlDataSour

2009-07-27 16:19:59

ASP.NET報表控件

2009-09-11 09:09:00

ASP.NETAdRotator控件

2009-07-20 13:32:24

ScriptManagASP.NET

2009-08-04 11:29:14

HTML代碼ASP.NET控件

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-08-05 15:57:03

ASP.NET控件ID

2009-08-19 13:44:00

ASP.NET Lis

2009-08-04 10:43:59

ASP.NET控件開發

2009-07-28 14:47:18

ASP.NET MVC

2009-08-27 16:59:20

ASP.NET用戶控件

2009-08-07 14:40:36

RegularExprASP.NET驗證控件

2009-07-21 17:18:26

UpdateProgrASP.NET AJA
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩在线综合 | 国产精品一区二 | www免费视频| 久久在线| 九九精品在线 | 成人毛片在线视频 | 羞羞羞视频 | 色伊人久久 | 一区二区久久 | 亚洲精品三级 | 成人精品鲁一区一区二区 | 久草青青 | 久久精品免费观看 | 日本高清aⅴ毛片免费 | 天天曰夜夜操 | 九九久久久 | 天天看天天摸天天操 | 亚洲精品日本 | 日本在线网站 | 精品视频一区二区 | 一区二区三区四区在线视频 | 久草免费在线视频 | 人人九九| 久久精品 | 免费国产视频在线观看 | 久久国产精品免费一区二区三区 | 美女黄色在线观看 | 午夜寂寞福利视频 | 久久伊人影院 | 欧美日韩视频 | 男人久久天堂 | 国产日韩一区二区三区 | 午夜tv免费观看 | 国产亚洲人成a在线v网站 | 亚洲精品日韩综合观看成人91 | 国产精品一区二区视频 | 欧美黑人狂野猛交老妇 | 亚洲视频精品 | 久久国内精品 | 国产1区2区3区 | 欧美精品日韩精品国产精品 |