Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
那 Angular 那 AJAX 那 RESTful
Next
Download to read offline and view in fullscreen.

1

Share

Download to read offline

Asp.net identity overview

Download to read offline

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Asp.net identity overview

  1. 1. Gordon http://weisnote.blogspot.tw/
  2. 2.  只要是網站十之八九都會有一套會員機制 2
  3. 3. 先別管這個了 你有聽過 ASP.NET Membership 嗎? 4
  4. 4. something like...
  5. 5.  http://www.asp.net/identity/overview/gettingstarted/introduction-to-aspnet-identity 9
  6. 6.  限定 SQL Server 然後 schema 沒得改  圍繞著關聯式設計 不適用於 NoSQL  不能使用 OWIN 10
  7. 7. http://blog.darkthread.net/post-2013-12-01-about-owin.aspx
  8. 8.  http://www.asp.net/identity/overview/gettingstarted/introduction-to-aspnet-identity 13
  9. 9.     One ASP.NET Identity system ◦ ASP.NET MVC, Web Forms, Web Pages, Web API, SignalR 通吃 Ease of plugging in profile data about the user ◦ 易於擴充 profile data Unit testability ◦ 易於單元測試 Role provider ◦ 支援角色管理 14
  10. 10.      Claims Based ◦ 支援 Claims Based Identity Model (宣告式身分識別模型) Social Login Providers ◦ 支援社群登入 Windows Azure Active Directory ◦ 可以用 Windows Azure AD 登入 OWIN Integration ◦ 整合 OWIN 把驗證放在 middleware NuGet package ◦ 無腦安裝 15
  11. 11. 16
  12. 12.  有沒有一開專案就有會員功能的八卦? 17
  13. 13. 18
  14. 14. 19
  15. 15. 20
  16. 16. 21
  17. 17. 22
  18. 18.  /Models/IdentityModels.cs 25
  19. 19.  /Models/RegisterViewModel.cs 26
  20. 20.  /Views/Account/Register.cshtml
  21. 21.  /Controllers/AccountController 28
  22. 22. 29
  23. 23. 30
  24. 24.    每個網站的角色權限邏輯各異 自由發揮 來看看最常見的 Admin 怎麼玩 32
  25. 25.  /App_Start/RoleConfig.cs 33
  26. 26.  /Global.asax 34
  27. 27. /Controllers/AccountController.cs 35
  28. 28. 36
  29. 29.    有 Admin 角色的 User 可以連進 /admin/index 沒 Admin 角色的 User 會被導到登入頁 沒啥好看的 完全沒有畫面 37
  30. 30. 臉書為例
  31. 31.     取得應用程式編號 (appId) 取得應用程式密鑰 (appSecret) 新增平台 選 “網站” 設定 ”網站URL” 39
  32. 32.  /App_Start/Startup.Auth.cs 40
  33. 33. 41
  34. 34. 以 MongoDB 為例
  35. 35. 44
  36. 36. Controller UserManager<TUser> internal class EntityStore<TEntity> where TEntity: class public void Create(TEntity entity) public void Delete(TEntity entity) UserStore<TUser> public virtual Task<TEntity> GetByIdAsync(object id) public DbContext Context { get; private set; } public DbSet<TEntity> DbEntitySet { get; private set; } EntityStore<TEntity> public IQueryable<TEntity> EntitySet { get; private set; } 45
  37. 37. Controller ApplicationUser IdentityUser UserManager<TUser> UserStore<TUser> UserLoginInfo UserClaim UserRepository MongoHelper 46
  38. 38.  /Models/IdentityModels.cs 47
  39. 39.  /Controllers/AccountController.cs 48
  40. 40.  /Models/IdentityUser.cs 49
  41. 41. 50
  42. 42.  /Models/UserClaim.cs 51
  43. 43.  /Models/UserStore.cs ◦ IUserLoginStore<TUser>  對應使用者至登入提供者的介面 ◦ IUserClaimStore<TUser>  儲存使用者指定宣告 ◦ IUserRoleStore<TUser>  對應使用者至登入提供者的介面 ◦ IUserPasswordStore<TUser>  儲存使用者的密碼雜湊 ◦ IUserSecurityStampStore<TUser>  儲存使用者的安全性戳記 ◦ IUserStore<TUser>  公開基本使用者管理的介面 52
  44. 44.  https://mongolab.com/ 53
  45. 45.  /Models/MongoHelper.cs 54
  46. 46. 55
  47. 47.  /Models/UserRepository.cs 56
  48. 48. 57
  49. 49. 59
  50. 50. 60
  51. 51. 61
  52. 52. 62
  53. 53. 63
  54. 54. 64
  55. 55. 65
  56. 56. 66
  57. 57. 67
  58. 58. 68
  59. 59. 69
  60. 60. 70
  61. 61. 71
  62. 62. 72
  63. 63.  https://github.com/neverlostmine/MongoUs erStore 77
  64. 64.  http://www.youtube.com/watch?v=B4gl9KADN ZI&list=PLLQgkMVoGtcvjcDJhMEcQtick0QigZR ag 78
  65. 65.  http://brockallen.com/2013/10/20/thegood-the-bad-and-the-ugly-of-asp-netidentity/#ugly 79
  66. 66.  優點 ◦ 一秒生出會員登入 ◦ (部分)社群無痛登入 ◦ 一套 Identity通吃 ASP.NET MVC, Web Forms, Web Pages, Web API, SignalR ◦ 不是 SQL Server 也能用 ◦ 比較不會因為”人為因素” 被 我的密碼沒加密 提名  缺點 ◦ 要學新東西 ˊ_>ˋ ◦ 架構不見得人人愛 ◦ UserManager 裡面的方法使 用不當 效能會炸裂 ◦ 部分 error message 是英文 的 而且是 hard code ◦ 控制慾強烈的人無法忍受 ◦ 太新 有機率出現未爆彈 80
  • zamove

    Oct. 4, 2017

Views

Total views

1,332

On Slideshare

0

From embeds

0

Number of embeds

3

Actions

Downloads

18

Shares

0

Comments

0

Likes

1

×