開篇說明:
此篇博客是屬於半教程博客,為什么說是半教程呢。因為我不會打算說什么理論性的東西,沒必要。要看理論性的資料以及基礎信息,請前往tkb至簡和@陽光銘睿的博客查看文檔資料。
2017年1月15日號的時候錄制了關於這個項目的視頻。
大家可以看看:傳送門
開發環境:
vs2015 update3
sqlserver 2012
使用ABP版本說明:
本次教程更新時間為:2016-12-27 12:35:
abp版本說明:
使用的是abp v1.13和abpzero v1.13
作為開發版本,也就是截止為更新時間的最新版本。
目前在1.13版本ABP需要安裝最新的typescript 2.1
鏈接:http://www.microsoft.com/zh-CN/download/details.aspx?id=48593
大家自行下載安裝
掃個小盲:
MPA:為多頁面,通過服務器端進行渲染razor進行綁定數據的方式(等其他情況。
SPA:則為單頁面,可以用作前后端分離如:vue,angular這些前端技術,而后端只需要提供webapi就可以了(當然還有其他方式。
1、首先創建一個模板解決方案“PhoneBook”
打開ABP的官方網站:http://www.aspnetboilerplate.com/Templates
創建“YoYoCMS.PhoneBook”然后點擊“Create my project!”按鈕如下圖
輸入驗證碼,開始下載。
圖片說明:
我們按照上圖說的操作。所以平時大家在群里提那么奇奇怪怪的問題的時候,先看看自己是否有按照這樣在操作。
2、運行該項目示例
個人習慣,我會先修改他的連接字符串。默認為windows用戶登錄,我改為數據庫sa用戶登錄
<add name="Default" connectionString="Data Source=.; Database=AbpZeroTemplateV0; User ID=sa; Password=123;" providerName="System.Data.SqlClient" />
他們的區別在於創建數據庫關系視圖的時候就會發現權限的問題
這里請看圖,選擇yoyocms.phonebook.entityframework層
然后就發現報錯了。。。
在與 SQL Server 建立連接時出現與網絡相關的或特定於實例的錯誤。未找到或無法訪問服務器。請驗證實例名稱是否正確並且 SQL Server 已配置為允許遠程連接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服務器/實例時出錯)
解決方法:
選中””為啟動項目,然后再重新生成解決方案。然后再次執行“update-database”。
運行項目成功
登錄的時候發現有個租戶名稱需要填寫。我們之前下載的時候,土牛的下載信息中已經說明了。默認開啟的多租戶模式。
3、多租戶功能演示
當前頁面為默認的多租戶登錄頁面,也就是說不同的租戶登錄,看到的數據其實是不一樣的。如果租戶名稱默認不填寫的話,那么登錄的就是Host用戶。
Host用戶可以對租戶信息進行添加刪除修改和查詢。而租戶就沒有添加其他租戶的權利信息。
3-1、登錄Host用戶,賬號:admin密碼:123qwe
此處可以對默認租戶“default”進行其他操作,當然現在的模板頁面只有添加租戶信息
上圖中,字段給的比較少,大家可以對字段進行添加。
建議如果使用多租戶功能的話:租戶名稱必須由2個以上字母、數字、-、_組成,以字母開頭
3-2、使用租戶“ddxc”登錄
如上,登錄后會發現[Tenants]已經沒有了。因為租戶是不具備添加租戶的權限。
然后我們創建一個用戶“yingmu”密碼:“123qwe”
提示郵箱已經被占用,換一個
3-3 使用“Default“租戶登錄
相同的過程就不演示了。這里可以看到用戶列表里面沒有櫻木花道的信息。
這個就是啟用了多租戶的效果。
不同租戶之間的數據信息是分隔開了的。
如果不明白他是怎么回事的同學看看下圖:
這個游戲大家應該都知道。
一個游戲N個區。
這里不同的大區就是使用了多租戶的功能。
使用多租戶的場景有哪些:企業模板網站、釘釘、今目標、任務管理系統等等都可以算作是多租戶的使用場景。
第一次這么正式的寫博客,如果大家有什么問題和建議可以到群里找我,我們相互溝通和交流。
群號:104390185(提供某科學上網)