SlideShare uma empresa Scribd logo
1 de 56
 
ASP.NET 2.0 網站 帳號權限管理系統 - 深入應用與探索 奚江華 .NET 技術書籍作家
常見的網站帳號權限系統開發議題 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ASP.NET 2.0 網站 帳號權限管理系統相關服務 ,[object Object],[object Object],[object Object],[object Object]
對應功能意義說明 Membership 成員資格 Role 角色管理 Profile 使用者設定檔 使用者帳號 / 密碼 使用者群組 使用者屬性設定儲存 Login 相關控制項 現成登入 UI 介面
設定帳號權限系統三步驟 ,[object Object],[object Object],[object Object]
Aspnet_regsql.exe 資料庫註冊 ,[object Object]
修改 Provider 資料庫連線字串 ,[object Object]
測試 Provider 連線 ,[object Object]
Login 登入相關控制項 ,[object Object],Login Password- Recovery LoginStatus LoginName LoginView CreateUser- Wizard Change- Password Membership & Role Management
Login 相關控制項功能說明 控制項 說明 Login   由帳號及密碼 TextBox 等所組成的一個控制項 。   LoginName   用於顯示登入的使用者名稱 。   LoginStatus   由登入狀態而顯示不同的登入提示   。 LoginView   依 Login 或 Logout 狀態而顯示不同的樣板或資訊   。 CreateUserWizard   提供建立使用者帳號的現成樣板精靈   。 ChangePassword   用於使用者變更密碼的時機 。   PasswordRecovery   用於使用者忘記密碼的時,提供密碼恢復的機制 。
Login 控制項 <html> <body> <form runat=&quot;server&quot;> <asp:Login RunAt=&quot;server&quot; /> </form> </body> </html>
CreateUserWizard 控制項 ,[object Object]
ChangePassword 控制項 ,[object Object]
Membership 成員資格服務 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Membership 成員資格架構圖 Membership API Membership Data SQL Server Other Data Stores Controls Login LoginStatus LoginView SqlMembershipProvider Other Membership Providers Membership Providers Membership MembershipUser ActiveDirectory- MembershipProvider Active Directory Other Controls
組成 Membership 服務之相關類別 類別或功能 說明 Membership 提供一般成員資格功能。   MembershipUser 提供特定使用者資訊。   MembershipProvider 定義可由成員資格系統使用的資料提供者功能。   MembershipProvider - Collection MembershipUser 物件的集合。   MembershipUser - Collection 當建立新的成員資格使用者時,提供成功或失敗 的描述值。 MembershipCreate - Status 當建立新的成員資格使用者時,提供成功或失敗 的描述值。 MembershipCreate - UserException 定義無法建立使用者時,所擲回的例外狀況。   MembershipPassword - Format 指定  ASP.NET  隨附之成員資格提供者可能會使用 的密碼儲存格式  (Clear 、 Hashed  和  Encrypted) 。
Membership 類別 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Membership 類別常用方法 方法 說明 CreateUser 建立使用者 。 DeleteUser 刪除使用者 。 GeneratePassword 產生指定長度的亂數密碼 。 取得 Membership 資料庫中所有 MembershupUser 物件 的集合 。 GetUser 讀取一個代表使用者的 MembershupUser 物件 。 UpdateUser 更新指定的使用者資料 。 ValidateUser 驗證使用者登入的姓名與密碼 。 GetAllUsers FindUserByName 以姓名尋找使用者帳號 。 取得目前存取應用程式的 Online 使用者人數 。 GetNumberOfUsers- Online
建立新的使用者帳號 try { Membership.CreateUser (&quot;Jeff&quot;, &quot;imbatman!&quot;, &quot;jeffpr@microsoft.com&quot;); } catch (MembershipCreateUserException e) { switch (e.StatusCode) { case MembershipCreateStatus.DuplicateUsername: ... case MembershipCreateStatus.DuplicateEmail: ... case MembershipCreateStatus.InvalidPassword: ... default: ... } }
使用者登入身份驗證 if (Membership.ValidateUser (UserName.Text, Password.Text)) FormsAuthentication.RedirectFromLoginPage (UserName.Text, RememberMe.Checked);
MembershipUser 類別 ,[object Object],[object Object],[object Object],[object Object]
MembershipUser 類別常用屬性 Comment 取得或設定成員資格使用者的應用程式特定資訊。   CreationDate 取得建立使用者帳號的日期和時間。   Email 取得或設定使用者的電子郵件地址。   LastLoginDate 取得或設定使用者上一次登入的日期和時間。   LastPasswordChangedDate 取得使用者密碼的上一次更新日期和時間。   PasswordQuestion   取得使用者的安全性密碼問題。   UserName 取得使用者登入的名稱。   屬性 說明
MembershipUser 類別常用方法 ChangePassword 變更使用者的密碼。   ChangePassword- QuestionAndAnswer 變更使用者的密碼安全性問題和解答。   GetPassword* 取得使用者的密碼(前提必須以 Clear Text 儲存)。   ResetPassword** 將使用者的密碼重新設定,並自動產生新的密碼。   *  必須 Membership.EnablePasswordRetrieval 屬性設定為 true UnlockUser 解除使用者帳號鎖定,以便能夠進行身份驗證。   **  必須 Membership.EnablePasswordReset 屬性設定為 true 方法 說明
解除使用者帳號鎖定 MembershipUser user = Membership.GetUser (&quot;Jeff&quot;); if (user != null)  { if (user.IsLockedOut)  { user.UnlockUser (); // TODO: Optionally use // MembershipUser.ResetPassword // to reset Jeff's password } }
Membership Providers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SqlMembershipProvider 組態設定 <membership ...> <providers> <add name=&quot;AspNetSqlMembershipProvider&quot; connectionStringName=&quot;LocalSqlServer&quot; applicationName=&quot;/&quot; requiresUniqueEmail=&quot;[true|false]&quot; passwordFormat=&quot;[Clear|Encrypted|Hashed]&quot; maxInvalidPasswordAttempts=&quot;5&quot; passwordAttemptWindow=&quot;10&quot; passwordStrengthRegularExpression=&quot;&quot; minRequiredPasswordLength=&quot;7&quot; minRequiredNonalphanumericCharacters=&quot;1&quot; ... /> </providers> </membership>
Role 角色管理服務 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Role 角色管理架構圖 Roles API Roles Data SQL Server Other Data Stores Controls Login LoginStatus LoginView Role Providers Roles Other Controls SqlRole-Provider AuthorizationStore-RoleProvider Other Providers WindowsToken-RoleProvider Authorization Manager
組成 Role 服務之相關類別 Roles 提供角色的一般管理功能。   RoleProvider 定義提供者必須實作給 Roles 類別使用的功能。  RoleManagerModule 將角色資訊加入至目前的 User 屬性。  RoleManagerEventArgs 定義傳遞給  RoleManager_GetRoles  事件的引數, 在  GetRoles 事件期間,提供目前使用者內容的存取。  RolePrincipal 當做  IPrincipal  物件並且快取使用者的角色。  類別或功能 說明
Roles 類別 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
啓用 Role 角色管理功能 ,[object Object],[object Object],<configuration> <system.web> <roleManager enabled=&quot;true&quot; /> </system.web> </configuration>
Roles 類別常用方法 方法 說明 AddUserToRole 將使用者加入角色。 CreateRole 建立角色。  DeleteRole 刪除角色。   GetRolesForUser 取得使用者所屬角色的清單。   GetUsersInRole 取得角色中所有使用者清單。 IsUserInRole 判斷使用者是否在指定的角色中。  RemoveUserFromRole 從一個角色中移除一個使用者。
建立新的角色 if (!Roles.RoleExists (&quot;Developers&quot;)) { Roles.CreateRole (&quot;Developers&quot;); }
將使用者加入到角色中 ,[object Object],[object Object],[object Object],[object Object],string name = Membership.GetUser ().Username; Roles.AddUserToRole (name, &quot;Developers&quot;);
Role 角色管理功能組態設定 <roleManager enabled=&quot;[true|false]&quot; defaultProvider=&quot;AspNetSqlRoleProvider&quot; createPersistentCookie=&quot;[true|false]&quot; cacheRolesInCookie=&quot;[true|false]&quot; cookieName=&quot;.ASPXROLES&quot; cookieTimeout=&quot;00:30:00&quot; cookiePath=&quot;/&quot; cookieRequireSSL=&quot;[true|false]&quot; cookieSlidingExpiration=&quot;[true|true]&quot; cookieProtection=&quot;[None|Validation|Encryption|All]&quot; domain=&quot;&quot; maxCachedResults=&quot;25&quot; > ... </roleManager>
Role  角色管理 Providers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ASP.NET 2.0 網頁授權 <configuration>  <system.web>   <authorization> <deny users=&quot;*&quot; /> <allow roles=&quot;Admin&quot; /> <allow users=&quot;Bob&quot; />   </authorization> </system.web> </configuration>
Membership and Roles
Profiles 使用者設定檔 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Profile  使用者設定檔架構圖 Profiles Profile Data Stores SQL Server Express Other Data Stores ProfileBase ProfileCommon (Autogenerated ProfileBase-Derivative) Other Profile Providers Profile Providers SqlProfileProvider SQL Server
定義  Profile 使用者設定檔 <system.web> <profile> <properties> <add name=&quot;PostalCode&quot; type=&quot;System.Int32&quot;/> <add name=&quot; 生日 &quot; type=&quot;System.DateTime&quot;/> <add name=&quot; 學歷 &quot; type=&quot;System.String&quot;/> <add name=&quot; 星座 &quot; type=&quot;System.String&quot;/> <add name=&quot; 血型 &quot; type=&quot;System.String&quot;/> <add name=&quot; 職業 &quot; type=&quot;System.String&quot;/> </properties> </profile> </system.web>
存取 Profile 使用者設定檔
Profile 群組 ,[object Object],[object Object],<profile>   <properties>     <add name=&quot; 體重 &quot; type=&quot;System.Int32&quot; />     <group name=&quot;Address&quot;>       <add name=&quot;Country&quot;  type=&quot;System.String&quot; />       <add name=&quot;City&quot; type=&quot;System.String&quot; />       <add name=&quot;PostalCode&quot; type=&quot;System.Int32&quot; />     </group>   </properties> </profile>
使用 Profile 群組
Profiles 支援的資料型別 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
使用客製化資料型別 <configuration> <system.web> <profile> <properties> <add name=&quot;Cart&quot; type=&quot;ShoppingCart&quot; serializeAs=&quot;Binary&quot;  /> </properties> </profile> </system.web> </configuration>
匿名使用者 Profile ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
匿名使用者 Profile 設定 <configuration> <system.web> <anonymousIdentification enabled=&quot;true&quot; /> <profile> <properties> <add name=&quot;ScreenName&quot; allowAnonymous=&quot;true&quot;  /> <add name=&quot;Posts&quot; type=&quot;System.Int32&quot; defaultValue=&quot;0 /> <add name=&quot;LastPost&quot; type=&quot;System.DateTime&quot; /> </properties> </profile> </system.web> </configuration>
Profile 事件 ,[object Object],Global.asax Handler  名稱 說明 AnonymousIdentification_Creating 建立與管理匿名使用者身份識別。 Profile_MigrateAnonymous 匿名者 Profile 移轉事件。   Profile_Personalize Profile 的個人化事件。   Profile_ProfileAutoSaving Profile 的自動儲存事件。
Profile 事件程式 Global.asax <%@ Application Language=&quot;C#&quot; %> <script runat=&quot;server&quot;> // 移轉匿名使用者 Profile 設定檔 事件 void  Profile_MigrateAnonymous (object sender,  ProfileMigrateEventArgs args) { ... } //Profile 個人化事件 public void  Profile_Personalize (object sender,   ProfileEventArgs args) { ... } //Profile 自動化儲存事件 void  Profile_ProfileAutoSaving (object sender,  ProfileAutoSaveEventArgs args) { ... } </script>
Profile 使用者設定檔管理 ,[object Object],方法 說明 DeleteProfiles   刪除多個用者 Profile 。   FindInactiveProfiles- ByUserName   尋找超過指定日期時間內沒登入的所有使用者的 Profile 。   GetAllProfiles   取得特定 data source 所有使用者的 Profile 。   取得超過指定日期時間內沒登入所有使用者 Profile 的數量。   GetNumberOfProfiles   取得特定 data source 所有使用者 Profile 的數量。   GetNumberOf- InactiveProfiles  FindProfilesBy- UserName  尋找指定使用者名稱的 Profile 。   取得超過指定日期時間內沒登入的所有使用者 Profile 。   GetAllInactiveProfiles   DeleteInactiveProfiles   刪除超過指定日期時間內沒登入使用者的 Profile 。   DeleteProfile   刪除單一使用者 Profile 。
Profiles
參考資料 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
資源 User Groups http://www.microsoft.com/communities/ usergroups/default.mspx Technical Community Sites http://www.microsoft.com/taiwan/community/default.mspx Newsgroups http://www.microsoft.com/taiwan/community/newsgroups/dgbrowser/zh-tw/default.mspx Virtual Labs http://www.microsoft.com/technet/traincert/virtuallab/default.mspx MSDN & TechNet  http://www.microsoft.com/taiwan/msdn http://www.microsoft.com/taiwan/technet Microsoft Learning and Certification http://www.microsoft.com/taiwan/learning/default.htm Technical Chats and Webcasts http://www.microsoft.com/taiwan/community/chat_list.aspx   http://www.microsoft.com/taiwan/technet/webcast/default.aspx
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Mais conteúdo relacionado

Mais procurados

Make More Money With Advanced Custom Fields - WordCampYYC 2015
Make More Money With Advanced Custom Fields - WordCampYYC 2015Make More Money With Advanced Custom Fields - WordCampYYC 2015
Make More Money With Advanced Custom Fields - WordCampYYC 2015buildstudio
 
20090418 イケテルRails勉強会 第1部Rails編
20090418 イケテルRails勉強会 第1部Rails編20090418 イケテルRails勉強会 第1部Rails編
20090418 イケテルRails勉強会 第1部Rails編mochiko AsTech
 
Gaurav Jatav , BCA Third Year
Gaurav Jatav , BCA Third YearGaurav Jatav , BCA Third Year
Gaurav Jatav , BCA Third YearDezyneecole
 
قالب المواضيع
قالب المواضيعقالب المواضيع
قالب المواضيعkhaliled
 
SES Toronto 2008; Joe Dolson
SES Toronto 2008; Joe DolsonSES Toronto 2008; Joe Dolson
SES Toronto 2008; Joe DolsonJoseph Dolson
 
Nanoformats
NanoformatsNanoformats
Nanoformatsrozario
 
HTML5: Markup Evolved
HTML5: Markup EvolvedHTML5: Markup Evolved
HTML5: Markup EvolvedBilly Hylton
 
Creative chase busting v2
Creative chase busting   v2Creative chase busting   v2
Creative chase busting v2b3333333333jal
 
Asp.Net Mvc
Asp.Net MvcAsp.Net Mvc
Asp.Net Mvcsef2009
 
Page Caching Resurrected
Page Caching ResurrectedPage Caching Resurrected
Page Caching ResurrectedBen Scofield
 
The things browsers can do! SAE Alumni Convention 2014
The things browsers can do! SAE Alumni Convention 2014The things browsers can do! SAE Alumni Convention 2014
The things browsers can do! SAE Alumni Convention 2014Christian Heilmann
 
Building Secure Twitter Apps
Building Secure Twitter AppsBuilding Secure Twitter Apps
Building Secure Twitter AppsDamon Cortesi
 

Mais procurados (16)

Make More Money With Advanced Custom Fields - WordCampYYC 2015
Make More Money With Advanced Custom Fields - WordCampYYC 2015Make More Money With Advanced Custom Fields - WordCampYYC 2015
Make More Money With Advanced Custom Fields - WordCampYYC 2015
 
20090418 イケテルRails勉強会 第1部Rails編
20090418 イケテルRails勉強会 第1部Rails編20090418 イケテルRails勉強会 第1部Rails編
20090418 イケテルRails勉強会 第1部Rails編
 
Gaurav Jatav , BCA Third Year
Gaurav Jatav , BCA Third YearGaurav Jatav , BCA Third Year
Gaurav Jatav , BCA Third Year
 
Post portal naruto
Post portal narutoPost portal naruto
Post portal naruto
 
قالب المواضيع
قالب المواضيعقالب المواضيع
قالب المواضيع
 
SES Toronto 2008; Joe Dolson
SES Toronto 2008; Joe DolsonSES Toronto 2008; Joe Dolson
SES Toronto 2008; Joe Dolson
 
Symfony 1, mi viejo amigo
Symfony 1, mi viejo amigoSymfony 1, mi viejo amigo
Symfony 1, mi viejo amigo
 
Nanoformats
NanoformatsNanoformats
Nanoformats
 
Articulo java web
Articulo java webArticulo java web
Articulo java web
 
HTML5: Markup Evolved
HTML5: Markup EvolvedHTML5: Markup Evolved
HTML5: Markup Evolved
 
Creative chase busting v2
Creative chase busting   v2Creative chase busting   v2
Creative chase busting v2
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Asp.Net Mvc
Asp.Net MvcAsp.Net Mvc
Asp.Net Mvc
 
Page Caching Resurrected
Page Caching ResurrectedPage Caching Resurrected
Page Caching Resurrected
 
The things browsers can do! SAE Alumni Convention 2014
The things browsers can do! SAE Alumni Convention 2014The things browsers can do! SAE Alumni Convention 2014
The things browsers can do! SAE Alumni Convention 2014
 
Building Secure Twitter Apps
Building Secure Twitter AppsBuilding Secure Twitter Apps
Building Secure Twitter Apps
 

Destaque

批处理程序教程
批处理程序教程批处理程序教程
批处理程序教程Chui-Wen Chiu
 
Windows Mobile 6 程式開發入門
Windows Mobile 6 程式開發入門Windows Mobile 6 程式開發入門
Windows Mobile 6 程式開發入門Chui-Wen Chiu
 
寶貝 媽咪終於抱到妳了
寶貝   媽咪終於抱到妳了寶貝   媽咪終於抱到妳了
寶貝 媽咪終於抱到妳了Chui-Wen Chiu
 
13.個人電腦散熱與擺放位置相關說明與建議
13.個人電腦散熱與擺放位置相關說明與建議13.個人電腦散熱與擺放位置相關說明與建議
13.個人電腦散熱與擺放位置相關說明與建議Chui-Wen Chiu
 

Destaque (6)

批处理程序教程
批处理程序教程批处理程序教程
批处理程序教程
 
Windows Mobile 6 程式開發入門
Windows Mobile 6 程式開發入門Windows Mobile 6 程式開發入門
Windows Mobile 6 程式開發入門
 
新創意
新創意新創意
新創意
 
寶貝 媽咪終於抱到妳了
寶貝   媽咪終於抱到妳了寶貝   媽咪終於抱到妳了
寶貝 媽咪終於抱到妳了
 
13.個人電腦散熱與擺放位置相關說明與建議
13.個人電腦散熱與擺放位置相關說明與建議13.個人電腦散熱與擺放位置相關說明與建議
13.個人電腦散熱與擺放位置相關說明與建議
 
墾丁 更新版2
墾丁  更新版2墾丁  更新版2
墾丁 更新版2
 

Semelhante a Dev004奚江華

Spring基础教程
Spring基础教程Spring基础教程
Spring基础教程Shilong Sang
 
Open Source Type Pad Mobile
Open Source Type Pad MobileOpen Source Type Pad Mobile
Open Source Type Pad MobileHiroshi Sakai
 
Ontology-based Content Management System (ICIM 2008)
Ontology-based Content Management System (ICIM 2008)Ontology-based Content Management System (ICIM 2008)
Ontology-based Content Management System (ICIM 2008)Brian Hsu
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 CakephpstudyYusuke Ando
 
Suse manager 4.0_201907
Suse manager 4.0_201907Suse manager 4.0_201907
Suse manager 4.0_201907希典 陈
 
Ruby on Rails Tutorial Part I
Ruby on Rails Tutorial Part IRuby on Rails Tutorial Part I
Ruby on Rails Tutorial Part IWei Jen Lu
 
095722121-期中報告-UGC
095722121-期中報告-UGC095722121-期中報告-UGC
095722121-期中報告-UGCcherish0906
 
1242361147my upload ${file.name}
1242361147my upload ${file.name}1242361147my upload ${file.name}
1242361147my upload ${file.name}51 lecture
 
Linuxユーザーのための Windows 管理入門
Linuxユーザーのための Windows 管理入門Linuxユーザーのための Windows 管理入門
Linuxユーザーのための Windows 管理入門shigeya
 
PMT-006-生產計劃與管理
PMT-006-生產計劃與管理PMT-006-生產計劃與管理
PMT-006-生產計劃與管理handbook
 
Windows 7兼容性系列课程(3):有针对的兼容性开发(上)
Windows 7兼容性系列课程(3):有针对的兼容性开发(上)Windows 7兼容性系列课程(3):有针对的兼容性开发(上)
Windows 7兼容性系列课程(3):有针对的兼容性开发(上)Chui-Wen Chiu
 
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Yusuke Kawasaki
 
文献紹介:Semantic-based information retrieval in support of concept design.
文献紹介:Semantic-based information retrieval in support of concept design.文献紹介:Semantic-based information retrieval in support of concept design.
文献紹介:Semantic-based information retrieval in support of concept design.Shin Sano
 
Web應用程式以及資安問題的探討
Web應用程式以及資安問題的探討Web應用程式以及資安問題的探討
Web應用程式以及資安問題的探討Mu Chun Wang
 
Understanding Web Services
Understanding Web ServicesUnderstanding Web Services
Understanding Web Servicesaru85
 

Semelhante a Dev004奚江華 (20)

Spring基础教程
Spring基础教程Spring基础教程
Spring基础教程
 
T1
T1T1
T1
 
Open Source Type Pad Mobile
Open Source Type Pad MobileOpen Source Type Pad Mobile
Open Source Type Pad Mobile
 
Ontology-based Content Management System (ICIM 2008)
Ontology-based Content Management System (ICIM 2008)Ontology-based Content Management System (ICIM 2008)
Ontology-based Content Management System (ICIM 2008)
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 Cakephpstudy
 
Suse manager 4.0_201907
Suse manager 4.0_201907Suse manager 4.0_201907
Suse manager 4.0_201907
 
Ruby on Rails Tutorial Part I
Ruby on Rails Tutorial Part IRuby on Rails Tutorial Part I
Ruby on Rails Tutorial Part I
 
095722121-期中報告-UGC
095722121-期中報告-UGC095722121-期中報告-UGC
095722121-期中報告-UGC
 
1242361147my upload ${file.name}
1242361147my upload ${file.name}1242361147my upload ${file.name}
1242361147my upload ${file.name}
 
Linuxユーザーのための Windows 管理入門
Linuxユーザーのための Windows 管理入門Linuxユーザーのための Windows 管理入門
Linuxユーザーのための Windows 管理入門
 
PHP超入門@LL温泉
PHP超入門@LL温泉PHP超入門@LL温泉
PHP超入門@LL温泉
 
PMT-006-生產計劃與管理
PMT-006-生產計劃與管理PMT-006-生產計劃與管理
PMT-006-生產計劃與管理
 
Apache Tapestry
Apache TapestryApache Tapestry
Apache Tapestry
 
Windows 7兼容性系列课程(3):有针对的兼容性开发(上)
Windows 7兼容性系列课程(3):有针对的兼容性开发(上)Windows 7兼容性系列课程(3):有针对的兼容性开发(上)
Windows 7兼容性系列课程(3):有针对的兼容性开发(上)
 
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
Cloud era -『クラウド時代』マッシュアップ技術による地方からの世界発信
 
文献紹介:Semantic-based information retrieval in support of concept design.
文献紹介:Semantic-based information retrieval in support of concept design.文献紹介:Semantic-based information retrieval in support of concept design.
文献紹介:Semantic-based information retrieval in support of concept design.
 
Spring Framework勉強会
Spring  Framework勉強会Spring  Framework勉強会
Spring Framework勉強会
 
Web應用程式以及資安問題的探討
Web應用程式以及資安問題的探討Web應用程式以及資安問題的探討
Web應用程式以及資安問題的探討
 
What Can Compilers Do for Us?
What Can Compilers Do for Us?What Can Compilers Do for Us?
What Can Compilers Do for Us?
 
Understanding Web Services
Understanding Web ServicesUnderstanding Web Services
Understanding Web Services
 

Mais de Chui-Wen Chiu

Mais de Chui-Wen Chiu (20)

Dynamic Python
Dynamic PythonDynamic Python
Dynamic Python
 
Pythonpresent
PythonpresentPythonpresent
Pythonpresent
 
Introduce Django
Introduce DjangoIntroduce Django
Introduce Django
 
移動內存算法
移動內存算法移動內存算法
移動內存算法
 
墾丁 更新版
墾丁  更新版墾丁  更新版
墾丁 更新版
 
Bw1096
Bw1096Bw1096
Bw1096
 
高雄新地標 統一夢世代
高雄新地標  統一夢世代高雄新地標  統一夢世代
高雄新地標 統一夢世代
 
Borland傳奇
Borland傳奇Borland傳奇
Borland傳奇
 
Python 庫簡介
Python 庫簡介Python 庫簡介
Python 庫簡介
 
Asp.Net Mvc 1.0
Asp.Net Mvc 1.0Asp.Net Mvc 1.0
Asp.Net Mvc 1.0
 
天下第一 夜市總冠軍
天下第一 夜市總冠軍天下第一 夜市總冠軍
天下第一 夜市總冠軍
 
下班就跑是富有哲學道理1
下班就跑是富有哲學道理1下班就跑是富有哲學道理1
下班就跑是富有哲學道理1
 
認識腸病毒
認識腸病毒認識腸病毒
認識腸病毒
 
排隊的店
排隊的店排隊的店
排隊的店
 
柬埔寨鄉村婚禮
柬埔寨鄉村婚禮柬埔寨鄉村婚禮
柬埔寨鄉村婚禮
 
新 創 意
新 創 意新 創 意
新 創 意
 
挖好屬於自己的井
挖好屬於自己的井挖好屬於自己的井
挖好屬於自己的井
 
Why The Us Wants War 080702
Why The Us Wants War  080702Why The Us Wants War  080702
Why The Us Wants War 080702
 
你今天的選擇是什麼?
你今天的選擇是什麼?你今天的選擇是什麼?
你今天的選擇是什麼?
 
我的學思歷程 劉兆玄
我的學思歷程 劉兆玄我的學思歷程 劉兆玄
我的學思歷程 劉兆玄
 

Dev004奚江華

  • 1.  
  • 2. ASP.NET 2.0 網站 帳號權限管理系統 - 深入應用與探索 奚江華 .NET 技術書籍作家
  • 3.
  • 4.
  • 5. 對應功能意義說明 Membership 成員資格 Role 角色管理 Profile 使用者設定檔 使用者帳號 / 密碼 使用者群組 使用者屬性設定儲存 Login 相關控制項 現成登入 UI 介面
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Login 相關控制項功能說明 控制項 說明 Login 由帳號及密碼 TextBox 等所組成的一個控制項 。 LoginName 用於顯示登入的使用者名稱 。 LoginStatus 由登入狀態而顯示不同的登入提示 。 LoginView 依 Login 或 Logout 狀態而顯示不同的樣板或資訊 。 CreateUserWizard 提供建立使用者帳號的現成樣板精靈 。 ChangePassword 用於使用者變更密碼的時機 。 PasswordRecovery 用於使用者忘記密碼的時,提供密碼恢復的機制 。
  • 12. Login 控制項 <html> <body> <form runat=&quot;server&quot;> <asp:Login RunAt=&quot;server&quot; /> </form> </body> </html>
  • 13.
  • 14.
  • 15.
  • 16. Membership 成員資格架構圖 Membership API Membership Data SQL Server Other Data Stores Controls Login LoginStatus LoginView SqlMembershipProvider Other Membership Providers Membership Providers Membership MembershipUser ActiveDirectory- MembershipProvider Active Directory Other Controls
  • 17. 組成 Membership 服務之相關類別 類別或功能 說明 Membership 提供一般成員資格功能。 MembershipUser 提供特定使用者資訊。 MembershipProvider 定義可由成員資格系統使用的資料提供者功能。 MembershipProvider - Collection MembershipUser 物件的集合。 MembershipUser - Collection 當建立新的成員資格使用者時,提供成功或失敗 的描述值。 MembershipCreate - Status 當建立新的成員資格使用者時,提供成功或失敗 的描述值。 MembershipCreate - UserException 定義無法建立使用者時,所擲回的例外狀況。 MembershipPassword - Format 指定 ASP.NET 隨附之成員資格提供者可能會使用 的密碼儲存格式 (Clear 、 Hashed 和 Encrypted) 。
  • 18.
  • 19. Membership 類別常用方法 方法 說明 CreateUser 建立使用者 。 DeleteUser 刪除使用者 。 GeneratePassword 產生指定長度的亂數密碼 。 取得 Membership 資料庫中所有 MembershupUser 物件 的集合 。 GetUser 讀取一個代表使用者的 MembershupUser 物件 。 UpdateUser 更新指定的使用者資料 。 ValidateUser 驗證使用者登入的姓名與密碼 。 GetAllUsers FindUserByName 以姓名尋找使用者帳號 。 取得目前存取應用程式的 Online 使用者人數 。 GetNumberOfUsers- Online
  • 20. 建立新的使用者帳號 try { Membership.CreateUser (&quot;Jeff&quot;, &quot;imbatman!&quot;, &quot;jeffpr@microsoft.com&quot;); } catch (MembershipCreateUserException e) { switch (e.StatusCode) { case MembershipCreateStatus.DuplicateUsername: ... case MembershipCreateStatus.DuplicateEmail: ... case MembershipCreateStatus.InvalidPassword: ... default: ... } }
  • 21. 使用者登入身份驗證 if (Membership.ValidateUser (UserName.Text, Password.Text)) FormsAuthentication.RedirectFromLoginPage (UserName.Text, RememberMe.Checked);
  • 22.
  • 23. MembershipUser 類別常用屬性 Comment 取得或設定成員資格使用者的應用程式特定資訊。 CreationDate 取得建立使用者帳號的日期和時間。 Email 取得或設定使用者的電子郵件地址。 LastLoginDate 取得或設定使用者上一次登入的日期和時間。 LastPasswordChangedDate 取得使用者密碼的上一次更新日期和時間。 PasswordQuestion 取得使用者的安全性密碼問題。 UserName 取得使用者登入的名稱。 屬性 說明
  • 24. MembershipUser 類別常用方法 ChangePassword 變更使用者的密碼。 ChangePassword- QuestionAndAnswer 變更使用者的密碼安全性問題和解答。 GetPassword* 取得使用者的密碼(前提必須以 Clear Text 儲存)。 ResetPassword** 將使用者的密碼重新設定,並自動產生新的密碼。 * 必須 Membership.EnablePasswordRetrieval 屬性設定為 true UnlockUser 解除使用者帳號鎖定,以便能夠進行身份驗證。 ** 必須 Membership.EnablePasswordReset 屬性設定為 true 方法 說明
  • 25. 解除使用者帳號鎖定 MembershipUser user = Membership.GetUser (&quot;Jeff&quot;); if (user != null) { if (user.IsLockedOut) { user.UnlockUser (); // TODO: Optionally use // MembershipUser.ResetPassword // to reset Jeff's password } }
  • 26.
  • 27. SqlMembershipProvider 組態設定 <membership ...> <providers> <add name=&quot;AspNetSqlMembershipProvider&quot; connectionStringName=&quot;LocalSqlServer&quot; applicationName=&quot;/&quot; requiresUniqueEmail=&quot;[true|false]&quot; passwordFormat=&quot;[Clear|Encrypted|Hashed]&quot; maxInvalidPasswordAttempts=&quot;5&quot; passwordAttemptWindow=&quot;10&quot; passwordStrengthRegularExpression=&quot;&quot; minRequiredPasswordLength=&quot;7&quot; minRequiredNonalphanumericCharacters=&quot;1&quot; ... /> </providers> </membership>
  • 28.
  • 29. Role 角色管理架構圖 Roles API Roles Data SQL Server Other Data Stores Controls Login LoginStatus LoginView Role Providers Roles Other Controls SqlRole-Provider AuthorizationStore-RoleProvider Other Providers WindowsToken-RoleProvider Authorization Manager
  • 30. 組成 Role 服務之相關類別 Roles 提供角色的一般管理功能。 RoleProvider 定義提供者必須實作給 Roles 類別使用的功能。 RoleManagerModule 將角色資訊加入至目前的 User 屬性。 RoleManagerEventArgs 定義傳遞給 RoleManager_GetRoles 事件的引數, 在 GetRoles 事件期間,提供目前使用者內容的存取。 RolePrincipal 當做 IPrincipal 物件並且快取使用者的角色。 類別或功能 說明
  • 31.
  • 32.
  • 33. Roles 類別常用方法 方法 說明 AddUserToRole 將使用者加入角色。 CreateRole 建立角色。 DeleteRole 刪除角色。 GetRolesForUser 取得使用者所屬角色的清單。 GetUsersInRole 取得角色中所有使用者清單。 IsUserInRole 判斷使用者是否在指定的角色中。 RemoveUserFromRole 從一個角色中移除一個使用者。
  • 34. 建立新的角色 if (!Roles.RoleExists (&quot;Developers&quot;)) { Roles.CreateRole (&quot;Developers&quot;); }
  • 35.
  • 36. Role 角色管理功能組態設定 <roleManager enabled=&quot;[true|false]&quot; defaultProvider=&quot;AspNetSqlRoleProvider&quot; createPersistentCookie=&quot;[true|false]&quot; cacheRolesInCookie=&quot;[true|false]&quot; cookieName=&quot;.ASPXROLES&quot; cookieTimeout=&quot;00:30:00&quot; cookiePath=&quot;/&quot; cookieRequireSSL=&quot;[true|false]&quot; cookieSlidingExpiration=&quot;[true|true]&quot; cookieProtection=&quot;[None|Validation|Encryption|All]&quot; domain=&quot;&quot; maxCachedResults=&quot;25&quot; > ... </roleManager>
  • 37.
  • 38. ASP.NET 2.0 網頁授權 <configuration> <system.web> <authorization> <deny users=&quot;*&quot; /> <allow roles=&quot;Admin&quot; /> <allow users=&quot;Bob&quot; /> </authorization> </system.web> </configuration>
  • 40.
  • 41. Profile 使用者設定檔架構圖 Profiles Profile Data Stores SQL Server Express Other Data Stores ProfileBase ProfileCommon (Autogenerated ProfileBase-Derivative) Other Profile Providers Profile Providers SqlProfileProvider SQL Server
  • 42. 定義 Profile 使用者設定檔 <system.web> <profile> <properties> <add name=&quot;PostalCode&quot; type=&quot;System.Int32&quot;/> <add name=&quot; 生日 &quot; type=&quot;System.DateTime&quot;/> <add name=&quot; 學歷 &quot; type=&quot;System.String&quot;/> <add name=&quot; 星座 &quot; type=&quot;System.String&quot;/> <add name=&quot; 血型 &quot; type=&quot;System.String&quot;/> <add name=&quot; 職業 &quot; type=&quot;System.String&quot;/> </properties> </profile> </system.web>
  • 44.
  • 46.
  • 47. 使用客製化資料型別 <configuration> <system.web> <profile> <properties> <add name=&quot;Cart&quot; type=&quot;ShoppingCart&quot; serializeAs=&quot;Binary&quot; /> </properties> </profile> </system.web> </configuration>
  • 48.
  • 49. 匿名使用者 Profile 設定 <configuration> <system.web> <anonymousIdentification enabled=&quot;true&quot; /> <profile> <properties> <add name=&quot;ScreenName&quot; allowAnonymous=&quot;true&quot; /> <add name=&quot;Posts&quot; type=&quot;System.Int32&quot; defaultValue=&quot;0 /> <add name=&quot;LastPost&quot; type=&quot;System.DateTime&quot; /> </properties> </profile> </system.web> </configuration>
  • 50.
  • 51. Profile 事件程式 Global.asax <%@ Application Language=&quot;C#&quot; %> <script runat=&quot;server&quot;> // 移轉匿名使用者 Profile 設定檔 事件 void Profile_MigrateAnonymous (object sender, ProfileMigrateEventArgs args) { ... } //Profile 個人化事件 public void Profile_Personalize (object sender, ProfileEventArgs args) { ... } //Profile 自動化儲存事件 void Profile_ProfileAutoSaving (object sender, ProfileAutoSaveEventArgs args) { ... } </script>
  • 52.
  • 54.
  • 55. 資源 User Groups http://www.microsoft.com/communities/ usergroups/default.mspx Technical Community Sites http://www.microsoft.com/taiwan/community/default.mspx Newsgroups http://www.microsoft.com/taiwan/community/newsgroups/dgbrowser/zh-tw/default.mspx Virtual Labs http://www.microsoft.com/technet/traincert/virtuallab/default.mspx MSDN & TechNet http://www.microsoft.com/taiwan/msdn http://www.microsoft.com/taiwan/technet Microsoft Learning and Certification http://www.microsoft.com/taiwan/learning/default.htm Technical Chats and Webcasts http://www.microsoft.com/taiwan/community/chat_list.aspx http://www.microsoft.com/taiwan/technet/webcast/default.aspx
  • 56. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Notas do Editor

  1. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  2. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  3. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  4. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  5. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  6. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  7. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  8. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  9. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  10. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  11. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  12. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  13. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  14. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  15. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  16. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  17. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  18. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  19. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  20. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  21. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  22. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  23. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  24. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  25. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  26. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  27. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  28. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  29. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24
  30. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 09/01/09 15:24