ASP.NET身份与Azure存储表

  • L7_970106
    了解作者
  • 66.3KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-02 01:50
    上传日期
如何:使用Azure存储表使用ASP.NET身份
1045746.zip
  • ASP-NET-Identity-with-Azure-Storage-Table.pdf
    73KB
内容介绍
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8"><meta name="generator" content="pdf2htmlEX"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/base.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/fancy.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/16408782/raw.css"><script src="https://csdnimg.cn/release/download_crawler_static/js/compatibility.min.js"></script><script src="https://csdnimg.cn/release/download_crawler_static/js/pdf2htmlEX.min.js"></script><script>try{pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});}catch(e){}</script><title></title></head><body><div id="sidebar" style="display: none"><div id="outline"></div></div><div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/16408782/bg1.jpg"><div class="c x1 y1 w2 h2"><div class="t m0 x2 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">ASP<span class="_ _0"></span>.NET<span class="_ _0"></span><span class="ff2">&#36523;&#20221;<span class="_ _0"></span>&#19982;<span class="_ _1"></span>&#36523;&#20221;<span class="_ _0"></span>&#19982;<span class="_ _2"></span><span class="ff1">Azu<span class="_ _0"></span>re</span>&#23384;<span class="_ _0"></span>&#20648;&#34920;<span class="_ _1"></span>&#23384;&#20648;<span class="_ _0"></span>&#34920;</span></div><div class="t m0 x2 h4 y3 ff2 fs1 fc0 sc0 ls0 ws0">&#20171;&#32461;<span class="_ _3"></span>&#20171;&#32461;</div><div class="t m0 x2 h5 y4 ff2 fs2 fc0 sc0 ls0 ws0">&#26412;&#25945;&#31243;&#26088;<span class="_ _0"></span>&#22312;&#22635;&#34917;&#22914;<span class="_ _0"></span>&#20309;&#20351;&#29992;<span class="ff3">A<span class="_ _0"></span>zure</span>&#23384;&#20648;<span class="_ _0"></span>&#34920;&#20351;&#29992;<span class="ff3">AS<span class="_ _0"></span>P.NET Id<span class="_ _0"></span>entity</span>&#30340;&#31354;<span class="_ _0"></span>&#30333;&#65292;&#23545;&#20110;<span class="_ _0"></span>&#35768;&#22810;&#20154;&#26469;<span class="_ _0"></span>&#35828;&#65292;&#36825;&#27604;<span class="_ _0"></span>&#20351;&#29992;&#40664;&#35748;<span class="_ _0"></span><span class="ff3">SQL Serv<span class="_ _0"></span>er LocalD<span class="_ _0"></span>B</span>&#21644;</div><div class="t m0 x2 h5 y5 ff3 fs2 fc0 sc0 ls0 ws0">EntityFra<span class="_ _0"></span>mework<span class="ff2">&#26159;<span class="_ _0"></span>&#26356;&#22909;&#30340;&#36873;<span class="_ _0"></span>&#25321;&#12290;</span></div><div class="t m0 x2 h4 y6 ff2 fs1 fc0 sc0 ls0 ws0">&#32972;&#26223;<span class="_ _3"></span>&#32972;&#26223;</div><div class="t m0 x1 h5 y7 ff3 fs2 fc1 sc0 ls0 ws0">ASP.NE<span class="_ _0"></span>T<span class="ff2">&#36523;&#20221;&#31616;&#20171;<span class="_ _0"></span>&#25991;&#31456;</span></div><div class="t m0 x1 h5 y8 ff2 fs2 fc1 sc0 ls0 ws0">&#22914;&#20309;&#20174;<span class="ff3">.N<span class="_ _0"></span>ET</span>&#20351;&#29992;<span class="ff3">A<span class="_ _0"></span>zure</span>&#34920;&#23384;<span class="_ _0"></span>&#20648;&#25991;&#31456;</div><div class="t m0 x2 h4 y9 ff2 fs1 fc0 sc0 ls0 ws0">&#20351;&#29992;&#20195;<span class="_ _0"></span>&#30721;<span class="_ _1"></span>&#20351;&#29992;<span class="_ _0"></span>&#20195;&#30721;</div><div class="t m0 x2 h5 ya ff2 fs2 fc0 sc0 ls0 ws0">&#21487;&#19979;&#36733;&#30340;<span class="_ _0"></span>&#39033;&#30446;&#20351;&#29992;<span class="_ _0"></span><span class="ff3">&#8220;</span>&#21333;&#39029;&#24212;<span class="_ _0"></span>&#29992;&#31243;&#24207;<span class="ff3">&#8221;</span>&#27169;<span class="_ _0"></span>&#26495;&#65292;&#24182;&#19988;<span class="_ _0"></span>&#25152;&#26377;&#36825;&#20123;<span class="_ _0"></span>&#27493;&#39588;&#22343;&#24050;<span class="_ _0"></span>&#23436;&#25104;&#12290;<span class="ff3"> <span class="_ _4"></span><span class="ff2">&#22312;&#20351;&#29992;&#23427;<span class="_ _0"></span>&#20043;&#21069;&#65292;&#24517;<span class="_ _0"></span>&#39035;&#37197;&#32622;<span class="ff3">A<span class="_ _0"></span>zureStore<span class="_ _0"></span></span>&#30340;&#36830;&#25509;&#23383;<span class="_ _0"></span>&#31526;&#20018;&#12290;</span></span></div><div class="t m0 x2 h5 yb ff2 fs2 fc0 sc0 ls0 ws0">&#25105;&#36824;&#21024;&#38500;<span class="_ _0"></span>&#20102;&#25152;&#26377;<span class="ff3">N<span class="_ _0"></span>uGet</span>&#36719;&#20214;<span class="_ _0"></span>&#21253;&#65292;&#20197;&#20415;<span class="_ _0"></span>&#25991;&#20214;&#22823;&#23567;<span class="_ _0"></span>&#23567;&#20110;<span class="ff3">10M<span class="_ _0"></span>B</span>&#65292;<span class="ff3">Visua<span class="_ _0"></span>l Studio</span>&#24212;<span class="_ _0"></span>&#35813;&#22312;&#26500;&#24314;<span class="_ _0"></span>&#35299;&#20915;&#26041;&#26696;<span class="_ _0"></span>&#26102;&#23558;&#20854;&#36824;<span class="_ _0"></span>&#21407;&#12290;</div><div class="t m0 x3 h5 yc ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff2">&#21019;&#24314;&#19968;&#20010;<span class="_ _0"></span></span>ASP.NET<span class="_ _0"></span><span class="ff2">&#65288;&#24050;&#27979;&#35797;<span class="_ _0"></span></span>4.5<span class="ff2">&#25110;&#26356;&#39640;<span class="_ _0"></span>&#29256;&#26412;&#65289;&#30340;<span class="_ _0"></span></span>Web<span class="ff2">&#24212;&#29992;<span class="_ _0"></span>&#31243;&#24207;&#65292;&#24182;<span class="_ _0"></span>&#20351;&#29992;</span>MVC<span class="_ _0"></span><span class="ff2">&#65292;</span>Web A<span class="_ _0"></span>PI<span class="ff2">&#25110;</span>&#8220;<span class="ff2">&#21333;&#39029;<span class="_ _0"></span>&#24212;&#29992;&#31243;&#24207;<span class="_ _0"></span></span>&#8221;<span class="ff2">&#27169;&#26495;&#65292;&#20445;<span class="_ _0"></span>&#30041;&#40664;&#35748;</span></div><div class="t m0 x1 h5 yd ff2 fs2 fc0 sc0 ls0 ws0">&#30340;<span class="ff3">&#8220;</span>&#20010;&#20154;&#29992;&#25143;&#24080;<span class="_ _0"></span>&#25143;<span class="_ _1"></span>&#20010;&#20154;<span class="_ _0"></span>&#29992;&#25143;&#24080;&#25143;<span class="_ _2"></span><span class="ff1">&#8221;</span>&#36523;&#20221;&#39564;&#35777;&#12290;</div><div class="t m0 x3 h5 ye ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="ff2">&#20174;</span>NuGet<span class="ff2">&#65306;</span></div><div class="t m0 x4 h5 yf ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff2">&#23433;&#35013;&#36719;&#20214;<span class="_ _0"></span>&#21253;</span><span class="fs3">Windows<span class="_ _0"></span>Azure.Storage</span></div><div class="t m0 x4 h5 y10 ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="ff2">&#21024;&#38500;&#20197;&#19979;<span class="_ _0"></span>&#36719;&#20214;&#21253;&#65306;</span></div><div class="t m0 x5 h6 y11 ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="fs3">Microsoft.As<span class="_ _0"></span>pNet.Identity.E<span class="_ _0"></span>ntityFramew<span class="_ _0"></span>ork</span></div><div class="t m0 x5 h6 y12 ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="fs3">EntityFramew<span class="_ _0"></span>ork</span></div><div class="t m0 x4 h5 y13 ff3 fs2 fc0 sc0 ls0 ws0">3. <span class="_"> </span>[<span class="ff2">&#21487;&#36873;</span>]<span class="ff2">&#22312;</span>P<span class="_ _0"></span>ackage Ma<span class="_ _0"></span>nager<span class="ff2">&#25511;&#21046;<span class="_ _0"></span>&#21488;&#20013;&#65292;&#36816;<span class="_ _0"></span>&#34892;<span class="_ _5"></span><span class="ff3 fs3">Update-Pac<span class="_ _0"></span>kage<span class="ff2 fs2">&#20197;<span class="_ _0"></span>&#20351;&#25152;&#26377;&#20869;<span class="_ _0"></span>&#23481;&#22343;&#24471;<span class="_ _0"></span>&#21040;&#26356;&#26032;</span></span></span></div><div class="t m0 x3 h5 y14 ff3 fs2 fc0 sc0 ls0 ws0">3. <span class="_"> </span><span class="ff2">&#22312;</span>&#8220;</div><div class="t m1 x6 h7 y14 ff2 fs4 fc0 sc0 ls0 ws0">&#27169;&#22411;</div><div class="t m0 x7 h5 y14 ff4 fs2 fc0 sc0 ls0 ws0">&#8221;<span class="ff2">&#25991;&#20214;&#22841;&#20013;&#65292;&#21019;<span class="_ _0"></span>&#24314;&#19968;&#20010;&#23558;<span class="_ _0"></span>&#19982;&#24744;&#30340;<span class="ff3">A<span class="_ _0"></span>zure</span>&#23384;&#20648;<span class="_ _0"></span>&#34920;&#29992;&#25143;&#25968;<span class="_ _0"></span>&#25454;&#21305;&#37197;&#30340;<span class="_ _0"></span>&#31867;<span class="ff3">-</span>&#22312;&#27492;&#21629;<span class="_ _0"></span>&#21517;&#20026;<span class="ff3 fs3">AzureT<span class="_ _0"></span>ableUser</span></span></div><div class="t m0 x4 h5 y15 ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff2">&#35813;&#31867;&#24517;&#39035;<span class="_ _0"></span>&#32487;&#25215;&#33258;</span><span class="fs3">Ta<span class="_ _0"></span>bleEntity</span><span class="ff2">&#21644;</span><span class="fs3">I<span class="_ _0"></span>User</span> <span class="ff2">&#12290;</span></div><div class="t m0 x4 h5 y16 ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="ff2">&#23454;&#26045;</span><span class="fs3">IUser</span><span class="ff2">&#30028;<span class="_ _0"></span>&#38754;&#65288;&#20351;&#29992;<span class="_ _0"></span>&#21491;&#38190;&#21333;&#20987;<span class="_ _0"></span></span>&gt;<span class="ff2">&#23454;&#26045;&#30028;<span class="_ _0"></span>&#38754;&#65289;</span></div><div class="t m0 x5 h5 y17 ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff2">&#22312;&#25105;&#30340;&#24773;<span class="_ _0"></span>&#20917;&#19979;&#65292;&#19981;<span class="_ _0"></span>&#20351;&#29992;</span>ID<span class="ff2">&#21464;<span class="_ _0"></span>&#37327;&#65292;&#25152;&#20197;<span class="_ _0"></span>&#25105;&#35753;&#23427;&#36820;<span class="_ _0"></span>&#22238;&#20102;</span><span class="fs3">User<span class="_ _0"></span>Name</span></div><div class="t m0 x5 h5 y18 ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="ff2">&#25105;&#23558;</span><span class="fs3">UserN<span class="_ _0"></span>ame</span><span class="ff2">&#21464;&#37327;&#35774;<span class="_ _0"></span>&#32622;&#20026;&#33258;&#21160;<span class="_ _0"></span>&#23454;&#29616;&#30340;&#23646;<span class="_ _0"></span>&#24615;&#65292;&#22240;&#20026;<span class="_ _0"></span>&#22312;&#25105;&#30340;&#24773;<span class="_ _0"></span>&#20917;&#19979;&#23601;&#36275;<span class="_ _0"></span>&#22815;&#20102;</span></div><div class="t m0 x4 h5 y19 ff3 fs2 fc0 sc0 ls0 ws0">3. <span class="_"> </span><span class="ff2">&#28155;&#21152;&#20197;&#19979;<span class="_ _0"></span>&#23646;&#24615;&#65306;</span></div><div class="t m0 x5 h6 y1a ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="fs3">public string P<span class="_ _0"></span>assword { ge<span class="_ _0"></span>t; set; }</span></div><div class="t m0 x5 h6 y1b ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="fs3">public string E<span class="_ _0"></span>mail { get; set<span class="_ _0"></span>; }</span></div><div class="t m0 x5 h6 y1c ff3 fs2 fc0 sc0 ls0 ws0">3. <span class="_"> </span><span class="fs3">public int Faile<span class="_ _0"></span>dLogIns { get; <span class="_ _0"></span>set; }</span></div><div class="t m0 x5 h6 y1d ff3 fs2 fc0 sc0 ls0 ws0">4. <span class="_"> </span><span class="fs3">public DateTim<span class="_ _0"></span>eOffset Loc<span class="_ _0"></span>kOutEndDate<span class="_ _0"></span> { get; set; }</span></div><div class="t m0 x5 h5 y1e ff3 fs2 fc0 sc0 ls0 ws0">5. <span class="_"> </span><span class="ff2">&#22914;&#26524;&#35201;&#20351;<span class="_ _0"></span>&#29992;<span class="ff1 fs3">Roles</span></span> <span class="ff2">&#65292;&#35831;&#28155;&#21152;</span><span class="fs3">public IList&lt;<span class="_ _0"></span>string&gt; Roles<span class="_ _0"></span> { get; set; }<span class="_ _6"> </span></span> <span class="fs3">public IList&lt;string&gt; Rol<span class="_ _0"></span>es { get; set; }</span></div><div class="t m0 x5 h5 y1f ff3 fs2 fc0 sc0 ls0 ws0">6. <span class="_"> </span><span class="ff2">&#22914;&#26524;&#35201;&#20351;<span class="_ _0"></span>&#29992;<span class="ff1 fs3">Claims<span class="_ _0"></span></span></span> <span class="ff2">&#65292;&#35831;<span class="_ _0"></span>&#28155;&#21152;</span><span class="fs3">public IList&lt;strin<span class="_ _0"></span>g&gt; Claims { <span class="_ _0"></span>get; set; }<span class="_ _6"> </span></span> <span class="fs3">public IList&lt;<span class="_ _0"></span>string&gt; Claim<span class="_ _0"></span>s { get; set; }</span></div><div class="t m0 x3 h5 y20 ff3 fs2 fc0 sc0 ls0 ws0">4. <span class="_"> </span><span class="ff2">&#22312;<span class="ff4">helpers</span>&#25991;&#20214;&#22841;&#20013;<span class="_ _0"></span>&#65292;&#21019;&#24314;&#19968;<span class="_ _0"></span>&#20010;&#23558;&#19982;&#24744;<span class="_ _0"></span>&#30340;&#23384;&#20648;&#34920;<span class="_ _0"></span>&#19968;&#36215;&#20351;&#29992;<span class="_ _0"></span>&#30340;&#31867;</span>-<span class="ff2">&#36825;<span class="_ _0"></span>&#37324;&#31216;&#20026;</span><span class="fs3">AzureStore</span></div><div class="t m0 x4 h5 y21 ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff2">&#22914;&#26524;&#38656;&#35201;<span class="_ _0"></span>&#65292;&#20026;&#27169;&#22411;<span class="_ _0"></span>&#21517;&#31216;&#31354;&#38388;<span class="_ _0"></span>&#28155;&#21152;</span><span class="fs3">using</span><span class="ff2">&#35821;<span class="_ _0"></span>&#21477;</span></div><div class="t m0 x4 h5 y22 ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="ff2">&#35813;&#31867;&#24517;&#39035;<span class="_ _0"></span>&#20174;</span><span class="fs3">Microsoft<span class="_ _0"></span>.AspNet.Ident<span class="_ _0"></span>ity</span><span class="ff2">&#21629;&#21517;&#31354;&#38388;&#20013;&#30340;<span class="_ _0"></span>&#33267;&#23569;</span>4<span class="ff2">&#20010;&#25509;<span class="_ _0"></span>&#21475;&#32487;&#25215;&#65292;<span class="_ _0"></span>&#36825;&#20123;&#25509;&#21475;<span class="_ _0"></span>&#26159;&#65306;</span></div><div class="t m0 x5 h6 y23 ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="fs3">IUserStore&lt;<span class="_ _0"></span></span> Azu<span class="_ _0"></span>reTableU<span class="_ _0"></span>ser <span class="fs3">&gt;</span></div><div class="t m0 x5 h6 y24 ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="fs3">IUserPasswo<span class="_ _0"></span>rdStore&lt;Azu<span class="_ _0"></span>reTableUser&gt;</span></div><div class="t m0 x5 h6 y25 ff3 fs2 fc0 sc0 ls0 ws0">3. <span class="_"> </span><span class="fs3">IUserLockout<span class="_ _0"></span>Store&lt;AzureT<span class="_ _0"></span>ableUser, TK<span class="_ _0"></span>ey&gt;</span></div><div class="t m0 x5 h6 y26 ff3 fs2 fc0 sc0 ls0 ws0">4. <span class="_"> </span><span class="fs3">IUserTwoFac<span class="_ _0"></span>torStore&lt;Azu<span class="_ _0"></span>reTableUser<span class="_ _0"></span>, TKey&gt;</span></div><div class="t m0 x4 h5 y27 ff3 fs2 fc0 sc0 ls0 ws0">3. <span class="_"> </span><span class="ff2">&#25105;&#20351;&#29992;<span class="ff1 fs3">stri<span class="_ _0"></span>ng</span>&#20316;&#20026;</span><span class="fs3">Lock<span class="_ _0"></span>out<span class="_ _4"></span><span class="ff2 fs2">&#21644;<span class="ff3 fs3">Tw<span class="_ _0"></span>oFactor</span>&#23384;&#20648;&#30340;<span class="ff3 fs3">TKe<span class="_ _0"></span>y<span class="fs2"> </span></span>&#65292;&#22240;&#20026;&#23427;&#20801;&#35768;<span class="_ _0"></span>&#20351;&#29992;<span class="ff3 fs3">string</span>&#23454;&#29616;<span class="_ _0"></span><span class="ff3 fs3">GetUserBy<span class="_ _0"></span>Id<span class="fs2"> / <span class="_ _5"></span><span class="fs3">GetUserByNa<span class="_ _0"></span>me</span></span></span></span></span></div><div class="t m0 x4 h5 y28 ff3 fs2 fc0 sc0 ls0 ws0">4. <span class="_"> </span><span class="ff2">&#23454;&#29616;&#25152;&#26377;<span class="_ _0"></span>&#25509;&#21475;&#12290;</span> <span class="ff2">&#25105;&#24314;&#35758;&#20351;&#29992;<span class="_ _0"></span></span><span class="fs3">#region</span><span class="ff2">&#25351;&#20196;&#20998;&#38548;<span class="_ _0"></span>&#23454;&#29616;&#12290;</span></div><div class="t m0 x4 h5 y29 ff3 fs2 fc0 sc0 ls0 ws0">5. <span class="_"> </span><span class="ff2">&#28155;&#21152;&#19968;&#20010;<span class="_ _0"></span></span><span class="fs3">private readon<span class="_ _0"></span>ly<span class="_ _0"></span></span> <span class="fs3">CloudTable cloudT<span class="_ _0"></span>able<span class="_ _0"></span></span><span class="ff2">&#23383;&#27573;&#65292;<span class="_ _0"></span>&#35813;&#23383;&#27573;&#23558;<span class="_ _0"></span>&#36127;&#36131;&#22312;&#23384;<span class="_ _0"></span>&#20648;&#34920;&#19978;&#25191;<span class="_ _0"></span>&#34892;&#21629;&#20196;&#12290;</span></div><div class="t m0 x4 h5 y2a ff3 fs2 fc0 sc0 ls0 ws0">6. <span class="_"> </span><span class="ff2">&#21019;&#24314;&#19968;&#20010;<span class="_ _0"></span>&#26500;&#36896;&#20989;&#25968;<span class="_ _0"></span>&#65292;&#28982;&#21518;&#25191;<span class="_ _0"></span>&#34892;&#20197;&#19979;&#25805;<span class="_ _0"></span>&#20316;&#20197;&#33719;&#21462;<span class="_ _0"></span>&#23545;&#35813;&#34920;&#30340;<span class="_ _0"></span>&#24341;&#29992;&#65306;</span></div><div class="t m0 x5 h6 y2b ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="fs3">StorageUri sto<span class="_ _0"></span>rageUri = ne<span class="_ _0"></span>w StorageUri(<span class="_ _0"></span>new Uri("http<span class="_ _0"></span>s://yourstora<span class="_ _0"></span>geaccountnam<span class="_ _0"></span>e.table.core.<span class="_ _0"></span>windows.net/"<span class="_ _0"></span>));</span></div><div class="t m0 x5 h6 y2c ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="fs3">CloudStorageA<span class="_ _0"></span>ccount csa =<span class="_ _0"></span> CloudStorag<span class="_ _0"></span>eAccount.Par<span class="_ _0"></span>se("connectio<span class="_ _0"></span>nString");</span></div><div class="t m0 x5 h5 y2d ff3 fs2 fc0 sc0 ls0 ws0">3. <span class="_"> </span><span class="fs3">cloudTable =<span class="_ _7"> </span></span> csa.Crea<span class="_ _0"></span>teClouldT<span class="_ _0"></span>ableClient<span class="_ _0"></span><span class="ff2">&#65288;&#65289;&#12290;</span>Ge<span class="_ _0"></span>tTableRefe<span class="_ _0"></span>rence<span class="ff2">&#65288;</span>&#8220; <span class="_ _0"></span>yourTableN<span class="_ _0"></span>ame&#8221;<span class="ff2">&#65289;</span>;</div><div class="t m0 x3 h5 y2e ff3 fs2 fc0 sc0 ls0 ws0">5. <span class="_"> </span><span class="ff2">&#25171;&#24320;&#20027;<span class="ff4">W<span class="_ _0"></span>eb.config</span>&#25991;<span class="_ _0"></span>&#20214;&#65292;&#28982;&#21518;<span class="_ _0"></span>&#21024;&#38500;</span><span class="fs3">Entit<span class="_ _0"></span>yFramework</span><span class="ff2">&#37096;&#20998;&#12290;</span></div><div class="t m0 x3 h5 y2f ff3 fs2 fc0 sc0 ls0 ws0">6. <span class="_"> </span><span class="ff2">&#25171;&#24320;</span><span class="fs3">Startup<span class="_ _0"></span>.Auth</span> <span class="ff2">&#65288;&#20174;</span><span class="fs3">App_Start</span> <span class="_ _0"></span><span class="ff2">&#65289;</span></div><div class="t m0 x4 h5 y30 ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff2">&#21024;&#38500;&#19981;&#24517;<span class="_ _0"></span>&#35201;&#30340;</span><span class="fs3">using</span><span class="ff2">&#25351;<span class="_ _0"></span>&#20196;</span></div><div class="t m0 x4 h5 y31 ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="ff2">&#22312;</span><span class="fs3">ConfigureA<span class="_ _0"></span>uth</span> <span class="ff2">&#65292;&#21024;&#38500;<span class="_ _0"></span>&#31532;&#19968;&#20010;</span><span class="fs3">CreatePerOw<span class="_ _0"></span>inContext<span class="_ _0"></span></span><span class="ff2">&#35843;<span class="_ _0"></span>&#29992;&#65292;&#22240;&#20026;<span class="_ _0"></span>&#25105;&#20204;&#23558;&#19981;<span class="_ _0"></span>&#20351;&#29992;&#20316;&#20026;<span class="_ _0"></span>&#27169;&#26495;&#19968;&#37096;<span class="_ _0"></span>&#20998;&#21019;&#24314;&#30340;<span class="_ _0"></span>&#25968;&#25454;&#24211;</span></div><div class="t m0 x4 h5 y32 ff3 fs2 fc0 sc0 ls0 ws0">3. <span class="_"> </span><span class="ff2">&#27880;&#37322;&#22312;&#26032;<span class="_ _0"></span>&#30340;</span><span class="fs3">CookieAut<span class="_ _0"></span>henticationOp<span class="_ _0"></span>tions</span><span class="ff2">&#20013;&#20998;&#37197;</span><span class="fs3">OnValidate<span class="_ _0"></span>Identity</span><span class="ff2">&#30340;&#34892;</span>-<span class="_ _0"></span><span class="ff2">&#38500;&#38750;&#22312;</span>Az<span class="_ _0"></span>ureTableU<span class="_ _0"></span>ser<span class="ff2">&#20013;&#23454;&#29616;<span class="_ _0"></span>&#65292;&#21542;&#21017;&#27492;<span class="_ _0"></span>&#34892;&#19981;&#36215;&#20316;<span class="_ _0"></span>&#29992;</span></div><div class="t m0 x3 h5 y33 ff3 fs2 fc0 sc0 ls0 ws0">7. <span class="_"> </span><span class="ff2">&#20174;</span></div><div class="t m1 x8 h7 y33 ff2 fs4 fc0 sc0 ls0 ws0">&#27169;&#22411;</div><div class="t m0 x9 h5 y33 ff2 fs2 fc0 sc0 ls0 ws0">&#25991;&#20214;&#22841;&#20013;<span class="_ _0"></span>&#65292;&#21024;&#38500;&#25991;<span class="_ _0"></span>&#20214;<span class="ff4">Identit<span class="_ _0"></span>yModels.c<span class="_ _0"></span>s</span></div><div class="t m1 xa h7 y33 ff2 fs4 fc0 sc0 ls0 ws0">&#65292;</div><div class="t m0 xb h5 y33 ff2 fs2 fc0 sc0 ls0 ws0">&#22240;&#20026;&#23427;&#19981;<span class="_ _0"></span>&#20250;&#34987;&#20351;&#29992;</div><div class="t m0 x3 h5 y34 ff3 fs2 fc0 sc0 ls0 ws0">8. <span class="_"> </span><span class="ff2">&#25171;&#24320;</span><span class="fs3">Identity<span class="_ _0"></span>Config</span><span class="ff1"> <span class="_ _4"></span><span class="ff2">&#65288;&#26469;&#33258;<span class="ff3 fs3">A<span class="_ _0"></span>pp_Start<span class="_ _0"></span><span class="fs2"> </span></span>&#65289;</span></span></div><div class="t m0 x4 h5 y35 ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff2">&#21024;&#38500;&#19981;&#24517;<span class="_ _0"></span>&#35201;&#30340;</span><span class="fs3">using</span><span class="ff2">&#25351;<span class="_ _0"></span>&#20196;</span></div><div class="t m0 x4 h5 y36 ff3 fs2 fc0 sc0 ls0 ws0">2. <span class="_"> </span><span class="ff2">&#38500;&#38750;&#24744;&#23558;<span class="_ _0"></span>&#23454;&#29616;&#33258;&#23450;<span class="_ _0"></span>&#20041;&#30005;&#23376;&#37038;<span class="_ _0"></span>&#20214;&#21644;</span>/<span class="ff2">&#25110;</span>S<span class="_ _0"></span>MS<span class="ff2">&#20004;&#22240;&#32032;<span class="_ _0"></span>&#36523;&#20221;&#39564;&#35777;<span class="_ _0"></span>&#65292;&#21542;&#21017;&#35831;<span class="_ _0"></span>&#21024;&#38500;&#31867;</span><span class="fs3">Em<span class="_ _0"></span>ailService<span class="_ _0"></span></span><span class="ff2">&#21644;</span><span class="fs3">SmsS<span class="_ _0"></span>ervice</span></div><div class="t m0 x5 h5 y37 ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff2">&#36824;&#35201;&#22312;</span><span class="fs3">App<span class="_ _0"></span>licationUserM<span class="_ _0"></span>anager</span><span class="ff2">&#31867;&#30340;</span><span class="fs3">cre<span class="_ _0"></span>ate</span><span class="ff2">&#20989;&#25968;&#20013;&#21024;<span class="_ _0"></span>&#38500;&#23545;&#26032;&#30340;<span class="_ _0"></span></span><span class="fs3">EmailServic<span class="_ _0"></span>e</span><span class="ff2">&#21644;&#26032;<span class="_ _0"></span>&#30340;</span><span class="fs3">SmsSer<span class="_ _0"></span>vice</span><span class="ff2">&#30340;&#35843;&#29992;</span></div><div class="t m0 x4 h5 y38 ff3 fs2 fc0 sc0 ls0 ws0">3. <span class="_"> </span><span class="ff2">&#23545;&#20110;&#23545;&#40664;<span class="_ _0"></span>&#35748;</span><span class="fs3">Application<span class="_ _0"></span>User</span><span class="ff2">&#31867;&#30340;<span class="_ _0"></span>&#27599;&#27425;&#35843;&#29992;<span class="_ _0"></span>&#65292;&#35831;&#23558;&#20854;<span class="_ _0"></span>&#26356;&#25913;&#20026;</span>A<span class="_ _0"></span>zureTable<span class="_ _0"></span>User</div><div class="t m0 x4 h5 y39 ff3 fs2 fc0 sc0 ls0 ws0">4. <span class="_"> </span><span class="ff2">&#22312;</span><span class="fs3">Create</span><span class="ff2">&#19979;<span class="_ _0"></span>&#23545;</span>new <span class="_ _4"></span><span class="fs3">Applica<span class="_ _0"></span>tionuserMan<span class="_ _0"></span>ager<span class="ff2 fs2">&#30340;&#35843;&#29992;<span class="_ _0"></span>&#20013;&#65292;&#23558;&#22312;<span class="_ _0"></span>&#27493;&#39588;<span class="ff3">7</span>&#20013;<span class="_ _0"></span>&#21019;&#24314;&#30340;<span class="_ _0"></span></span>AzureStore<span class="ff2 fs2">&#31867;<span class="_ _0"></span>&#30340;&#26032;&#23454;&#20363;<span class="_ _0"></span>&#20316;&#20026;&#21442;&#25968;<span class="_ _0"></span>&#20256;&#36882;</span></span></div><div class="t m0 x4 h5 y3a ff3 fs2 fc0 sc0 ls0 ws0">5. <span class="_"> </span><span class="ff2">&#22312;</span><span class="fs3">Application<span class="_ _0"></span>SignInManage<span class="_ _0"></span>r<span class="_ _0"></span></span><span class="ff2">&#31867;&#20013;&#65292;&#21024;<span class="_ _0"></span>&#38500;&#23545;</span><span class="fs3">Creat<span class="_ _0"></span>eUserIdentity<span class="_ _0"></span>Async<span class="_ _0"></span></span><span class="ff2">&#30340;&#26367;&#20195;</span></div><div class="t m0 x3 h5 y3b ff3 fs2 fc0 sc0 ls0 ws0">9. <span class="_"> </span><span class="ff2">&#25171;&#24320;</span><span class="fs3">Accoun<span class="_ _0"></span>tController</span></div><div class="t m0 x4 h5 y3c ff3 fs2 fc0 sc0 ls0 ws0">1. <span class="_"> </span><span class="ff2">&#23558;&#23545;&#40664;&#35748;<span class="_ _0"></span></span><span class="fs3">ApplicationUs<span class="_ _0"></span>er</span><span class="ff2">&#30340;&#35843;&#29992;<span class="_ _0"></span>&#26356;&#25913;&#20026;</span>A<span class="_ _0"></span>zureTable<span class="_ _0"></span>User</div></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div></body></html>
评论
    相关推荐
    • AquaExplorer:Azure 存储资源管理器
      水族探险家 Azure 存储资源管理器
    • Windows Azure存储
      简单了解什么是Windows Azure存储以及如何使用它
    • ex_azure_storage:Elixir Azure存储客户端
      Azure存储 Elixir Azure Storage Rest API客户端。 支持Azure Blob,队列,文件共享和表存储。 安装 该软件包可以通过添加安装ex_azure_storage你在依赖列表mix.exs : def deps do [ { :ex_azure_storage , " ~...
    • ghost-azurestorage:适配器以将Ghost图像存储Azure存储中并使用可选的Azure CDN
      此模块基于原始的,该使您可以使用Azure存储Azure内容传递网络资源存储媒体文件,而不是将图像存储在本地计算机或本地存储上。 这个更新模块将上传图片到指定的Blob存储与文件格式<container>/images/image-name...
    • Azure_knowledge:存储Azure知识
      Azure_knowledge 存储Azure知识
    • 使用C#处理Azure存储
      本文演示了如何创建一个新的Azure存储表并对该表执行CRUD操作。
    • AzureMasterClass:Azure主类的回购
      John Savill的Azure大师课程的存储库 这是与Azure Master类相关的材料的存储库 该类旨在从头到尾依次查看,因为每个模块都建立在最后一个模块上。 该存储库提供: 幻灯片的讲义格式为PDF 创建的白板图像 任何其他...
    • Azure.Data.Wrappers:简化了Azure存储
      简化了Azure存储 队列/ blob /表/文件共享 Azure存储资源 依赖注入 可模拟测试 优先使用异步通话 运行测试 确保Azure存储模拟器正在运行 针对测试程序集执行NUnit控制台运行程序 PM> Install-Package Azure.Data....
    • ghost-azurestorage:将ghost内容存储azure存储
      此模块允许您将媒体文件存储Azure上,而不是存储在本地计算机上。 安装 您需要在安装ghost的目录中输入以下命令。 例如,如果您遵循了,它将位于/var/www/ghost 。 *尼克斯 sudo npm install ghost-azure-storage ...
    • azure
      该服务可以是Azure服务,例如例如Azure存储Azure Cosmos数据库,SQL等,或您自己的专用链接服务。” 专用终结点可使用VPN或Express Route和由Private Link提供的服务,在同一VNet,区域对等VNet,全球对等VNet...