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

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

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

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

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

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

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

我們可以使用ASP.NET2.0自帶的WEB站點安全配置工具,就可以無需編程,在系統(tǒng)向?qū)У膸ьI(lǐng)下,自動建立一個存儲用戶角色身份的數(shù)據(jù)庫了。比如,我們現(xiàn)在需要建立一個access的數(shù)據(jù)庫,里面存儲用戶名,密碼,密碼提示問題,用戶EMAIL等資料,則可以通過web站點安全配置工具來實現(xiàn)。步驟如下:

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

Security選項

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

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

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

輸入界面

4)系統(tǒng)會允許你對某一用戶進(jìn)行有關(guān)規(guī)則的詳細(xì)設(shè)置,比如允許某一用戶行駛或拒絕使用某角色等。本文將忽略不用,繼續(xù)選NEXT進(jìn)下一步,此時,完成了系統(tǒng)的初步配置了。

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

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

#p#

Login控件

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

Login控件

Loginname和LoginStatus控件

一般的登陸模塊,當(dāng)用戶在成功登陸后,會顯示用戶當(dāng)前登陸的身份,比如“歡迎XXX用戶登陸”的提示,而同時會顯示“LOGOUT(退出)”的提示,這時,我們可以通過Loginname和loginstatus控件來實現(xiàn),在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 〉 

則當(dāng)用戶登陸后,會顯示如下:

Loginname和LoginStatus控件

LoginView控件

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

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

  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 〉 

運(yùn)行如下圖:

Loginname和LoginStatus控件

 #p#

CreateUserWizard控件

使用該控件,可以很方便地一步步引導(dǎo)用戶進(jìn)行注冊。拖拉其到設(shè)計窗體中,如下圖:

CreateUserWizard控件 

當(dāng)然,你可以對其屬性進(jìn)行更多地設(shè)置;

比如,設(shè)置HeaderTemplate(頭模版),StartNavigationTemplate(開始注冊模版),F(xiàn)inishNavigationTemplate(結(jié)束注冊模版)等,具體設(shè)置可以參考在線幫助。而該控件還允許當(dāng)注冊成功后向用戶發(fā)郵件,比如:

  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〉 

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

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

PasswordRecovery密碼恢復(fù)控件

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

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

實現(xiàn)時如下圖所示:

PasswordRecovery密碼恢復(fù)控件 

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

PasswordRecovery密碼恢復(fù)控件 

并在該控件中設(shè)置將恢復(fù)后的密碼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登陸控件可以很方便地實現(xiàn)密碼的更改,包括一個 MailDefinition 屬性。如果將值賦給 MailDefinition 屬性,則 ChangePassword 控件在密碼成功更改時將自動向用戶發(fā)送一個電子郵件。

ChangePassword 更改密碼控件 

直接使用Membership API

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

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

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

CreateUser — 使您能夠創(chuàng)建新用戶。

DeleteUser — 使您能夠刪除現(xiàn)有用戶。

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

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

GeneratePassword — 使您能夠生成隨機(jī)密碼。

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

GetNumberOfUsersOnline — 使您能夠返回當(dāng)前正在訪問 Web 應(yīng)用程序的用戶數(shù)。

GetUser — 使您能夠檢索與當(dāng)前用戶相關(guān)聯(lián)的成員身份信息,或者使您能夠檢索與某個已經(jīng)提供用戶名的用戶相關(guān)聯(lián)的成員身份信息。

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

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

ValidateUser — 使您能夠根據(jù)成員身份提供程序?qū)τ脩暨M(jìn)行身份驗證。

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

  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 

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

  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(); 

***運(yùn)行結(jié)果如下圖:

ChangePassword 更改密碼控件 

總結(jié)

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

 

【編輯推薦】

  1. ASP.NET 2.0環(huán)境下的Shell函數(shù)
  2. 在ASP.NET 2.0中向數(shù)據(jù)庫批量插入數(shù)據(jù)
  3. ASP.NET 2.0用Post方式向網(wǎng)頁發(fā)送數(shù)據(jù)
  4. ASP.NET 2.0 2.0部署WEB應(yīng)用程序淺析
  5. ASP.NET 2.0中的HttpWorkerRequest對像
  6. 介紹ASP.NET 2.0 MVC框架
  7. 配置ASP.NET 2.0 AJAX概述
責(zé)任編輯:冰荷 來源: yesky
相關(guān)推薦

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服務(wù)器控件

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控件開發(fā)

2009-07-24 15:35:00

ASP.NET Gri

2009-07-27 16:19:59

ASP.NET報表控件

2009-07-27 17:25:53

ASP.NET驗證控件

2009-08-17 09:24:25

ASP.NET控件

2009-08-03 15:08:00

SqlDataSour

2009-07-21 15:27:12

ASP.NET 2.0

2009-07-24 09:57:25

ASP.NET HTM

2009-08-07 15:32:28

ASP.NET復(fù)合控件

2009-07-28 13:22:13

DataList和ReASP.NET
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲视频欧美视频 | 久久久久久国模大尺度人体 | 一区二区精品视频 | av影音资源 | www.色53色.com | 欧美日韩国产在线观看 | 视频一区在线 | 亚洲精品一区二区三区蜜桃久 | 欧美色人 | 久久1区 | 中国av在线免费观看 | 97成人在线 | 一级大黄| 日韩av免费在线电影 | 免费看黄色国产 | 午夜影院操 | 超碰超碰 | 三区四区在线观看 | 欧美一区二区三区 | 亚洲精品亚洲人成人网 | 中文字幕在线观看日韩 | 欧美91| 欧美精品在线播放 | 国产精品视频网 | 国产成人精品一区 | 伊人精品| 欧美激情a∨在线视频播放 成人免费共享视频 | 亚洲精品视频一区 | 欧美一极视频 | 不卡一区二区三区四区 | 欧美成人aaa级毛片在线视频 | 国产.com | 日本成人区 | 久久精品国产清自在天天线 | 国产精品1区 | 国产视频第一页 | 精品国产乱码久久久久久蜜柚 | 天天久久| 亚洲人成在线观看 | 一区二区三区在线免费观看视频 | 97精品国产一区二区三区 |