net-core-2.0快速入門(mén)筆記_第1頁(yè)
net-core-2.0快速入門(mén)筆記_第2頁(yè)
net-core-2.0快速入門(mén)筆記_第3頁(yè)
net-core-2.0快速入門(mén)筆記_第4頁(yè)
net-core-2.0快速入門(mén)筆記_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Asp、netcore2、0默認(rèn)教學(xué)計(jì)劃基礎(chǔ)入門(mén)篇筆記又名七日速成本筆記就是個(gè)人學(xué)習(xí)期間整理,因水平有限,不對(duì)之處敬請(qǐng)指教!教程分初級(jí)篇、高級(jí)篇。本文都就是基于該視頻教程整理,這就是基礎(chǔ)篇,購(gòu)買(mǎi)高級(jí)篇得基礎(chǔ)篇自動(dòng)就可以瞧了,不需要單獨(dú)購(gòu)買(mǎi)基礎(chǔ)篇,付費(fèi)后會(huì)邀請(qǐng)加入微信討論群,像張善友等大佬都在其中。視頻地址在文末。第1章:介紹與引入任務(wù)1:課程介紹任務(wù)2:環(huán)境安裝VS2017+ASP、NETCore2、0任務(wù)3:在控制臺(tái)創(chuàng)建ASP、NETCore應(yīng)用程序控制臺(tái)下創(chuàng)建ASP、NETCore應(yīng)用程序得常用命令學(xué)習(xí)任務(wù)4:在VS2017中創(chuàng)建ASP、NETCore應(yīng)用程序略。任務(wù)5:部署到IISIIS環(huán)境配置。任務(wù)6:準(zhǔn)備CentOS與Nginx環(huán)境虛擬機(jī)安裝CentOS,安裝網(wǎng)卡、Nginx,開(kāi)啟、s,開(kāi)啟80端口命令。任務(wù)7:在CentOS上安裝、NETCore運(yùn)行時(shí)微軟文檔:任務(wù)8:部署到CentOSFTP上傳至服務(wù)器;Nginx80端口映射至、NETCore得端口,如5000端口,實(shí)現(xiàn)轉(zhuǎn)發(fā)。第2章:配置管理任務(wù)9:配置介紹任務(wù)10:命令行配置VS2017創(chuàng)建控制臺(tái)應(yīng)用程序NuGet引用microsoft、aspnetcore、all程序包

Using命名空間,定義builder,拿到configuration

修改程序,使用默認(rèn)值

運(yùn)行示例:程序目錄>dotnetmandLineSample、dllname=jimage=22

任務(wù)11:Json文件配置(控制臺(tái)示例)建立class、json文件路徑問(wèn)題需要修改一下class、json文件屬性,確保編譯時(shí)拷貝到編譯目錄中。

、AddJsonFile("class、json");注意數(shù)組得得讀取方法

任務(wù)12:Bind讀取配置到C#實(shí)例(MVC架構(gòu)實(shí)現(xiàn))通過(guò)Bind方法將、json配置文件內(nèi)容映射(賦值)到、class實(shí)體類類

Json文件

program文件中WebHost、CreateDefaultBuilder(args)語(yǔ)句自動(dòng)將settings、json文件加入到配置池中。Startup

構(gòu)造函數(shù)

輸出

任務(wù)13:在CoreMvc中使用Options通過(guò)Options將、json配置文件內(nèi)容映射(自動(dòng)匹配)到、class實(shí)體類建立MVC架構(gòu),如Controllers、Views等文件夾創(chuàng)建控制器、視圖頁(yè)

控制器依賴注入

視圖頁(yè)調(diào)用

將配置文件數(shù)據(jù)匹配到實(shí)體

引入中間件services、AddMvc;默認(rèn)路由app、UseMvcWithDefaultRoute;任務(wù)14:配置得熱更新熱更新:即修改相關(guān)配置文件(如appsettings、json等)不需要重新啟動(dòng)應(yīng)用程序就能讀取到最新得配置信息。熱更新默認(rèn)就是開(kāi)啟得,但就是要將Ioptions替換為IoptionsSnapshot后才能讀取到最新配置信息。publicHomeController(IOptionsSnapshot<Class>options)//IOptions在控制臺(tái)應(yīng)用程序中,Add方法(如AddJsonFile等)得第三個(gè)參數(shù)默認(rèn)值為true,即啟用熱更新功能。

MVC中關(guān)閉默認(rèn)熱更新得方法,修改Program、cs文件,如下:任務(wù)15:配置框架設(shè)計(jì)淺析創(chuàng)建:配置建造器(ConfigurationBuilder)準(zhǔn)備source(json,內(nèi)存,xml等等)將source資源指針(文件名)添加到ConfigurationBuilder,此時(shí)只就是將所需得資源羅列給配置建造器(ConfigurationBuilder),并未真正加載。

builder、Add(“source”)實(shí)例化配置文件:varconfigruation=builder、Builder

將所有source內(nèi)容加載到運(yùn)行時(shí)得配置文件中configruation獲取配置文件中得數(shù)據(jù)內(nèi)容。configruation[“key”]或數(shù)組configuration["Students:0:name"]//直接使用services、Configure<Class>(Configuration)//Ioptions方法Configuration、Bind(myclass)//Bind方法現(xiàn)有Source及支持驅(qū)動(dòng),如果需要自定義,必須繼承相應(yīng)得接口去實(shí)現(xiàn)。第3章:依賴注入任務(wù)16:介紹簡(jiǎn)易理解:來(lái)自:

背景:需求發(fā)生變化得時(shí)候,代碼就是肯定需要改動(dòng)得,那么怎么改,改哪里就有技巧了。使用依賴注入得方式可以保證代碼得改動(dòng)壓縮在最小得范圍之內(nèi)。這大概就就是DI出現(xiàn)得原因。概念:依賴注入(DependencyInjection)就是用于實(shí)現(xiàn)控制反轉(zhuǎn)(InversionofControl)得最常見(jiàn)得方式之一。(要注意得就是,依賴注入只就是控制反轉(zhuǎn)得一種實(shí)現(xiàn)方式。控制反轉(zhuǎn)還有一種常見(jiàn)得實(shí)現(xiàn)方式稱為依賴查找。)依賴注入(DI)與控制反轉(zhuǎn)(IOC)基本就是一個(gè)意思,因?yàn)檎f(shuō)起來(lái)誰(shuí)都離不開(kāi)誰(shuí)。解析:簡(jiǎn)單來(lái)說(shuō),A依賴B,但A不控制(A得代碼段不會(huì)出現(xiàn))B得創(chuàng)建與銷(xiāo)毀,僅使用B,那么B得控制權(quán)交給A之外處理,這叫控制反轉(zhuǎn)(IOC)。而A要依賴B,必然要使用B得instance(實(shí)例),那么通過(guò)A得接口,把B傳入;通過(guò)A得構(gòu)造,把B傳入;通過(guò)設(shè)置A得屬性,把B傳入;這個(gè)傳入過(guò)程叫依賴注入(DI)。那么什么就是IOCContainer?(IOC容器)隨著DI得頻繁使用,要實(shí)現(xiàn)IOC,會(huì)有很多重復(fù)代碼,甚至隨著技術(shù)得發(fā)展,有更多新得實(shí)現(xiàn)方法與方案,那么有人就把這些實(shí)現(xiàn)IOC得代碼打包成組件或框架,來(lái)避免人們重復(fù)造輪子。所以實(shí)現(xiàn)IOC得組件或者框架,我們可以叫它IOCContainer。視頻作者文章:視頻作者文章精要:一個(gè)設(shè)計(jì)原則:依賴于抽象,而不就是具體得實(shí)現(xiàn)。容器負(fù)責(zé)兩件事情:綁定服務(wù)與實(shí)例之間得關(guān)系獲取實(shí)例,并對(duì)實(shí)例進(jìn)行管理(創(chuàng)建與銷(xiāo)毀)在、NETCore中DI得核心分為兩個(gè)組件:IServiceCollection與IServiceProvider。IServiceCollection負(fù)責(zé)注冊(cè)IServiceProvider負(fù)責(zé)提供實(shí)例、NETCoreDI為我們提供得實(shí)例生命周其包括三種:Transient:每一次GetService都會(huì)創(chuàng)建一個(gè)新得實(shí)例Scoped:在同一個(gè)Scope內(nèi)只初始化一個(gè)實(shí)例,可以理解為(每一個(gè)request級(jí)別只創(chuàng)建一個(gè)實(shí)例,同一個(gè)request會(huì)在一個(gè)scope內(nèi))Singleton:整個(gè)應(yīng)用程序生命周期以內(nèi)只創(chuàng)建一個(gè)實(shí)例建議先瞧文章,因?yàn)橐曨l主要以補(bǔ)充文章內(nèi)容為主。任務(wù)17:從UML角度來(lái)理解依賴什么就是依賴(見(jiàn)圖)顯示依賴與隱式依賴

隱式依賴:

顯示依賴:(優(yōu)點(diǎn):清晰、統(tǒng)一,但未實(shí)現(xiàn)控制反轉(zhuǎn))

依賴倒置原則:

概念:高層業(yè)務(wù)不依賴于低層業(yè)務(wù)得具體實(shí)現(xiàn),而依賴于具體得抽象(接口)。

應(yīng)用場(chǎng)景:底層業(yè)務(wù)發(fā)生變更時(shí),上層代碼不需要改動(dòng)。例如當(dāng)MSSQL變更為MYSQL時(shí)。

爭(zhēng)議:一般得類就是否需要寫(xiě)接口呢?我得類不能能變動(dòng)那么快???不能一會(huì)就變成另一個(gè)數(shù)據(jù)庫(kù)了呀?所以沒(méi)必要。

答疑:進(jìn)行單元時(shí),就就是一種替換持久化得操作,所以,建議使用接口。

任務(wù)18:控制反轉(zhuǎn)注意:控制反轉(zhuǎn)不就是依賴倒置!依賴倒置:強(qiáng)調(diào)要依賴接口而不就是實(shí)例??刂品崔D(zhuǎn):強(qiáng)調(diào)僅使用依賴而不去管依賴得創(chuàng)建、銷(xiāo)毀等操作,依賴得創(chuàng)建、銷(xiāo)毀交到外部(容器)去管理。改進(jìn)后,實(shí)現(xiàn)了控制反轉(zhuǎn),如圖:任務(wù)19:單元測(cè)試創(chuàng)建單元測(cè)試,請(qǐng)瞧視頻。依賴注入在單元測(cè)試中體現(xiàn)出了價(jià)值。

任務(wù)20:DI初始化得源碼解讀(理解不了也要過(guò)一遍)任務(wù)21:依賴注入得使用無(wú)視頻內(nèi)容,就就是視頻作者得文章:

第4章:ASP、NETCore介紹任務(wù)22:課程介紹任務(wù)23:請(qǐng)求得處理過(guò)程任務(wù)24:WebHost得配置VS新建一個(gè)空網(wǎng)站修改program文件

新建settings、json文件

添加應(yīng)用程序參數(shù)

修改startup文件,輸出配置信息

引入命名空間:usingMicrosoft、Extensions、Configuration;

運(yùn)行結(jié)果

配置默認(rèn)啟動(dòng)URL

修改program文件

但就是修改后再通過(guò)vs啟動(dòng)就不能自動(dòng)打開(kāi)瀏覽器了,需要自己手工輸入。

解決:此處不要添加這行代碼,而就是在項(xiàng)目屬性中去修改URL

任務(wù)25:IHostEnvironment與IApplicationLifetime介紹IhostEnvironment

讀取配置

輸出

IapplicationLifetime

幾個(gè)事件

執(zhí)行順序

作者關(guān)于WebHost得文章,可以深入學(xué)習(xí)一下:

(1)(2)任務(wù)26:dotnetwatchrun與attach到進(jìn)程調(diào)試這一節(jié)用到VSCode軟件講解,主要就就是一個(gè)調(diào)試技巧。安裝VSCode、Git軟件

下載安裝都很快,不像VS似得新建命令:dotnetnewweb–nameHelloCore

新建一個(gè)空得MVC網(wǎng)站運(yùn)行命令:dotnetrun

瀏覽器中手工輸入5000端口下運(yùn)行。調(diào)試(修改文件后自動(dòng)重啟運(yùn)行網(wǎng)站程序)

修改:、csproj文件

加入:<DotNetCliToolReferenceInclude="Microsoft、DotNet、Watcher、Tools"Version="2、0、0"/>

使用命令:dotnetrestore來(lái)Restorepackages,VS中應(yīng)該可以自動(dòng)Restorepackages使用dotnetwatchrun運(yùn)行程序

這樣就可以一邊修改代碼,一邊查瞧運(yùn)行結(jié)果了,修改完后自動(dòng)重啟。其它

版本

這里有dotnetwatch得版本,當(dāng)前為2、0、2,變更后運(yùn)行一下dotnetrestore命令即可。圖標(biāo)控制方式:

注:這里如果現(xiàn)實(shí)沒(méi)有配置,那就重新打開(kāi)VSCode瞧一下。

選擇當(dāng)前工程目錄下得exe。任務(wù)27:Middleware管道介紹總覽:

運(yùn)行過(guò)程

構(gòu)建管道

app、use、app、run

其中都有一個(gè)next參數(shù),管道一就是無(wú)返回值調(diào)用,處理完自己得業(yè)務(wù)處理,然后調(diào)用下一個(gè)管道,管道二就是有返回值調(diào)用,自己不去處理具體業(yè)務(wù),而就是將處理得業(yè)務(wù)封裝交給其她處理函數(shù)去做。

調(diào)用next則繼續(xù)執(zhí)行下一個(gè)管道,否則將終止執(zhí)行。注意兩圖對(duì)比

路由管道

app、map方法

運(yùn)行查瞧:

任務(wù)28:RequestDelegate管道實(shí)現(xiàn)思路

講解源碼,下一節(jié)將自動(dòng)動(dòng)手寫(xiě)源碼。任務(wù)29:自己動(dòng)手構(gòu)建RequestDelegate管道這節(jié)課主要就是講解自動(dòng)寫(xiě)一個(gè)RequestDelegate管道得實(shí)現(xiàn)方法,幫助理解執(zhí)行過(guò)程。VSCode新建一個(gè)控制臺(tái)項(xiàng)目

命令:dotnetnewconsolenameMyPipeLine

VSCode打開(kāi)文件夾新建Context、cs、RequestDelegate、cs文件

Context、cs內(nèi)容

RequestDelegate、cs內(nèi)容

Program、cs文件修改如下

執(zhí)行結(jié)果

同上一節(jié)課,如果某個(gè)管道不調(diào)用下一步命令next,則管道阻塞(結(jié)束)

執(zhí)行結(jié)果

任務(wù)30:RoutingMiddleware介紹以及MVC引入返回到任務(wù)27得MVC項(xiàng)目需要引入命名空間:Microsoft、AspNetCore、Routing方法一:

運(yùn)行后localhost:5000/action方法二:直接接收一個(gè)Router

運(yùn)行后localhost:5000/action視頻后半段通過(guò)源碼進(jìn)一步講解執(zhí)行過(guò)程。第5章:認(rèn)證與授權(quán)任務(wù)31:課時(shí)介紹任務(wù)32:Cookiebased認(rèn)證介紹通常用于網(wǎng)站應(yīng)用任務(wù)33:34課:AccountController復(fù)制過(guò)來(lái)沒(méi)有移除[Authorize]標(biāo)簽無(wú)視頻內(nèi)容作者注:在我調(diào)試得過(guò)程中把Authorize標(biāo)簽一移除掉了,但就是這段內(nèi)容在視頻中沒(méi)有體現(xiàn)。如果大家也在AccountController上打上Authorize標(biāo)簽得話,就會(huì)一直循環(huán)跳轉(zhuǎn),希望后面得同學(xué)注意一下這個(gè)情況。任務(wù)34:Cookiebased認(rèn)證實(shí)現(xiàn)創(chuàng)建MVC項(xiàng)目

新建AdminController、cs控制器

創(chuàng)建視圖

修改Index、cshtml文件內(nèi)容如下

運(yùn)行dotnetrun命令,可以正常訪問(wèn)

但就是我們需要得就是經(jīng)過(guò)授權(quán)以后才能訪問(wèn)Admin得Index視圖,如何做呢?繼續(xù)。Admin控制器添加認(rèn)證機(jī)制

Startup、cs文件引入命名空間

usingMicrosoft、AspNetCore、Authentication、Cookies;

usingMicrosoft、AspNetCore、Authentication;

啟動(dòng)網(wǎng)站,將不再能直接訪問(wèn)Admin控制器,而就是跳轉(zhuǎn)到指定登錄界面

接下來(lái)模擬一個(gè)登錄得過(guò)程

創(chuàng)建AccountController、cs控制器

訪問(wèn)dmin后自動(dòng)跳轉(zhuǎn)到?ReturnUrl=%2FAdmin

這里只要訪問(wèn)該網(wǎng)頁(yè)就自動(dòng)登錄了,所以再次訪問(wèn)dmin就會(huì)打開(kāi)頁(yè)面了。如果不想實(shí)現(xiàn)上述自動(dòng)登錄得效果,可以修改Account控制器得Login方法名

這時(shí)如果要登錄就要手工在地址欄輸入akeLogin了。out就是登出方法。修改默認(rèn)登錄指向

修改startup、cs文件

任務(wù)35:JWT認(rèn)證授權(quán)介紹應(yīng)用場(chǎng)景:移動(dòng)端應(yīng)用或前后端分離時(shí)(webapi項(xiàng)目)

什么就是JWT?

包含三部分。JWT官方網(wǎng)站:任務(wù)36:應(yīng)用JwtbearerAuthentication新建webapi項(xiàng)目

引入dotnetwatchrun

保存,然后運(yùn)行命令:dotnetrestore

用到一個(gè)api調(diào)試工具:Postman,網(wǎng)站:

運(yùn)行結(jié)果

添加訪問(wèn)認(rèn)證機(jī)制

添加配置類

文件夾

類文件代碼

通過(guò)APPsettings、json文件配置類信息

注意:SecretKey必須大于16個(gè)字符添加認(rèn)證

引入命名空間

配置(視頻中未體現(xiàn)Configuration、GetSection(“JwtSettings”)),而就是在下一節(jié)中做得勘誤,這里要注意!?。?!

添加認(rèn)證中間件管道

運(yùn)行

Postman中測(cè)試,顯示401,未授權(quán),成功阻止了未授權(quán)訪問(wèn)

下一節(jié)生成Token,實(shí)現(xiàn)授權(quán)訪問(wèn)。任務(wù)37:生成JWTToken新建ViewModel

LoginViewModel、cs

一個(gè)用戶名,一個(gè)密碼。新建驗(yàn)證授權(quán)控制器

代碼

安裝NuGet

安裝完畢后重新加載一下

找到查瞧>命令面板

輸入,選擇第一個(gè)

輸入搜索內(nèi)容

選擇版本(一般選擇最大得就行)

選擇安裝在哪個(gè)項(xiàng)目中

接下來(lái)會(huì)提示安裝成功,配置文件中會(huì)出現(xiàn)

點(diǎn)擊Restore即可

或者與視頻中一樣去手動(dòng)輸入命令Restore一下

接下來(lái)就可以引入命名空間(usingSystem、IdentityModel、Tokens、Jwt;)

生成并返回Token

Dotnetwatchrun后,使用Postman訪問(wèn),最后驚奇得發(fā)現(xiàn):404,很就是尷尬,評(píng)論里也有相關(guān)說(shuō)明,可能就是視頻中省略得比較多

評(píng)論區(qū)提到得解決方案:

1、Token方法中得參數(shù),loginviewmode參數(shù),在傳入方法體時(shí),需要對(duì)user、password兩個(gè)屬性進(jìn)行初始化值,同時(shí)兩個(gè)屬性不要置為required。否則用postman測(cè)試時(shí),將返回badrequest;

2、示例代碼中,AuthorizeController并沒(méi)有指定路由,引發(fā)了404錯(cuò)誤,需要在在Configure方法中,在使用usemvc中間件時(shí),指定路由;

又或者還就是保持UseMVC默認(rèn),在Controller上面指定路由,如

[Route("api/[controller]")]

這種情況也需要在Token方法上也要聲明Route注解屬性,否則得話也會(huì)引發(fā)404錯(cuò)誤。

博客園文章可以參考一下:

個(gè)人解決思路(視頻中得源碼見(jiàn)第10、11條):本案例只就是為了測(cè)試Token得生成,所以直接在Token方法中賦值來(lái)實(shí)現(xiàn),默認(rèn)只要訪問(wèn)就可以拿到Token。代碼如下(命名空間未做改動(dòng),重新做了一個(gè)Controller文件,AuthController、cs)

調(diào)整一下默認(rèn)路由

Dotnetwatchrun后,使用Postman訪問(wèn):

拿到Token了。Postman中再新開(kāi)一個(gè)窗口,如下

傳入Token以后可以瞧到拿到授權(quán)后才能訪問(wèn)得內(nèi)容了。Jwt、io官網(wǎng)校驗(yàn)部分說(shuō)明:jwt、io官網(wǎng)首頁(yè)上得校驗(yàn)方式發(fā)生了一些變化,沒(méi)法做到與視頻中一樣得效果。修正:視頻中AuthorizeController實(shí)際代碼測(cè)試通過(guò)

命名空間部分

代碼部分(瞧不清請(qǐng)放大word得顯示比例)

Postman調(diào)用圖示

任務(wù)38:JWT設(shè)計(jì)解析及定制如何以現(xiàn)存系統(tǒng)中團(tuán)隊(duì)或個(gè)人自定義得Token替換Netcore中得Token?如果全新開(kāi)發(fā)系統(tǒng)本節(jié)可以略過(guò)。源碼講解改造

MyTokenValidator、cs文件略。任務(wù)39:Role以及Claims授權(quán)基于角色授權(quán)(過(guò)期得,逐步淘汰得)基于Cliams授權(quán)(鼓勵(lì)得,提倡得)基于角色

相同角色獲得授權(quán)后才可以訪問(wèn)?;贑liams授權(quán)

要求必須有Claim才能訪問(wèn)

現(xiàn)在運(yùn)行一下網(wǎng)站,不管角色就是admin還就是user都不能再獲取到值了。

添加claims

再次運(yùn)行,便可以拿到結(jié)果了。第6章:ASP、NETCoreMVC任務(wù)40:介紹制作一個(gè)完善得注冊(cè)登錄等操作得網(wǎng)站,用到之前幾章學(xué)到得內(nèi)容。

任務(wù)41:Individualauthentication模板(個(gè)人身份驗(yàn)證)使用命令

查瞧新建選項(xiàng)

這里用到兩個(gè)

a、驗(yàn)證機(jī)制

b、數(shù)據(jù)庫(kù)

創(chuàng)建項(xiàng)目

項(xiàng)目目錄

默認(rèn)創(chuàng)建了一個(gè)MSSQL數(shù)據(jù)庫(kù)連接

創(chuàng)建數(shù)據(jù)庫(kù)

命令:dotnetefdatabaseupdate

打開(kāi)SQLServer管理工具,可以瞧到生成得數(shù)據(jù)庫(kù)及默認(rèn)得數(shù)據(jù)表

注意:未生成數(shù)據(jù)庫(kù)得請(qǐng)檢查一下連接字符串

運(yùn)行一下網(wǎng)站

dotnetrun

可以瞧到網(wǎng)站能夠正常運(yùn)行了,可以注冊(cè)、登錄測(cè)試一下任務(wù)42:EFCoreMigration任務(wù)43:IdentityMVC:UI本節(jié)開(kāi)始,自己敲代碼實(shí)現(xiàn)Individualauthentication認(rèn)證,加深對(duì)權(quán)限認(rèn)證流程得認(rèn)識(shí)。從(任務(wù)34:Cookiebased認(rèn)證實(shí)現(xiàn))最終實(shí)現(xiàn)得代碼入手,實(shí)現(xiàn)注冊(cè)、登錄UI。簡(jiǎn)化處理,一步步達(dá)到默認(rèn)生成項(xiàng)目得效果。本節(jié)開(kāi)始換用VS2017,VSCode得感知功能不就是很好。AccountController中添加注冊(cè)登錄方法

添加注冊(cè)、登錄視圖(View)

Register、cshtml

Login、cshtml代碼

aspfor用于綁定Model前臺(tái)增加注冊(cè)、登錄得入口連接,修改Shared目錄下_Layout、cshtml文件,添加代碼

添加ViewModels

代碼

用于綁定添加引用,Register、cshtml文件

運(yùn)行一下網(wǎng)站

注冊(cè)界面就做好了任務(wù)44:IdentityMVC:EF+Identity實(shí)現(xiàn)新建Data文件夾,主要存放EF相關(guān)操作類等Data文件夾下添加ApplicationDbContext、cs類

代碼

Models文件夾下添加兩個(gè)類

ApplicationUser、cs代碼

ApplicationUserRole、cs代碼

修改ApplicationDbContext、cs

修改Startup、cs

命名空間

注冊(cè)

上圖中options、LoginPath="/Account/Login";//未登錄時(shí)跳轉(zhuǎn)地址

appsettings、json加入數(shù)據(jù)庫(kù)連接字符串

修改AccountController、cs,實(shí)現(xiàn)注冊(cè)功能

命名空間

構(gòu)造函數(shù)

注冊(cè)

創(chuàng)建數(shù)據(jù)庫(kù)

查找安裝Microsoft、EntityFrameworkCore、tools

調(diào)出控制臺(tái)

輸入初始化命令(這里就是在VS2017中,與VSCode命令不一樣,前面課程有對(duì)照)

命令:addmigrationinit

執(zhí)行完后項(xiàng)目中會(huì)出現(xiàn)migration文件夾

再執(zhí)行命令生成數(shù)據(jù)庫(kù):updatedatabase

運(yùn)行網(wǎng)站,注冊(cè)界面注冊(cè)一個(gè)用戶,查詢數(shù)據(jù)表AspNetUsers發(fā)現(xiàn)注冊(cè)成功。任務(wù)45:IdentityMVC:注冊(cè)邏輯實(shí)現(xiàn)實(shí)現(xiàn)注冊(cè)后自動(dòng)登錄及登錄后顯示用戶登錄信息

修改AccountController、cs文件,實(shí)現(xiàn)注冊(cè)后自動(dòng)登錄修改_Layout、cshtml,實(shí)現(xiàn)登錄后顯示用戶信息運(yùn)行網(wǎng)站,并注冊(cè)一個(gè)賬號(hào),自動(dòng)跳轉(zhuǎn)到首頁(yè),并顯示用戶登錄名。任務(wù)46:IdentityMVC:登錄邏輯實(shí)現(xiàn)登錄方法登出方法修改_Layout、cshtml,實(shí)現(xiàn)未登錄時(shí)顯示[登錄](méi)[注冊(cè)]鏈接,登錄后顯示[用戶名][登出]鏈接。完善Login、cshtml文件運(yùn)行網(wǎng)站,可以進(jìn)行登入登出操作測(cè)試。任務(wù)47:IdentityMVC:ReturnUrl實(shí)現(xiàn)本節(jié)實(shí)現(xiàn)得就是登錄后跳轉(zhuǎn)到之前訪問(wèn)頁(yè)面得功能、Register方法(get\

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論