開篇說明:
此篇部落格是屬於半教程部落格,為什麼說是半教程呢。因為我不會打算說什麼理論性的東西,沒必要。要看理論性的資料以及基礎資訊,請前往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(提供某***)