web app 和網(wǎng)站的區(qū)別企業(yè)郵箱賬號
??ShenNius.Admin.Mvc項(xiàng)目是MVC模式的入口,ShenNius.Admin.Hosting項(xiàng)目是前后端分離模式的后臺服務(wù)入口,這兩個(gè)項(xiàng)目都依賴ShenNius.Admin.API項(xiàng)目,前者使用ShenniusAdminApiModule類注冊服務(wù)及配置管道,而后者的webapi實(shí)現(xiàn)都在ShenNius.Admin.API項(xiàng)目內(nèi),主要文件如下所示:
??ShenniusAdminApiModule文件在之前的文章中也提到過,主要用于注冊服務(wù)、配置管道,前后端模式下采用JWT身份認(rèn)證,MVC模式下采用基于Cookie的身份認(rèn)證,通過入口項(xiàng)目的appsettings.json中JwtSetting:IsEnable配置的,除此之外,還注冊SignalR、SqlSugar、AutoMapper、NewtonsoftJson等第三方或自定義組件或服務(wù)。
??AutomapperProfile文件定義實(shí)體類的映射關(guān)系,并在上一段的文件中使用Services.AddAutoMapper(typeof(AutomapperProfile))注冊服務(wù)。
??Jwt文件夾保存與JWT身份認(rèn)證相關(guān)的類定義,其中:
??1)AuthorizationExtension文件定義擴(kuò)展函數(shù)注冊及配置JWT服務(wù),便于在ShenniusAdminApiModule文件中調(diào)用;
??2)ApiResponseHandler文件自定義認(rèn)證操作類,用于在認(rèn)證失敗時(shí)(HandleChallengeAsync、HandleForbiddenAsync)返回格式統(tǒng)一的結(jié)果(ApiResult),該類在AuthorizationExtension文件的注冊JWT服務(wù)時(shí)使用;
??3)JwtSetting文件保存JWT相關(guān)的配置,包括密鑰、頒發(fā)者、過期時(shí)間等,該類用于在項(xiàng)目啟動時(shí)從appsettings.json中讀取jwt配置;
??4)JwtHelper類基于JwtSetting配置生成token,主要在本項(xiàng)目的UserController.SignIn函數(shù)內(nèi)用戶身份認(rèn)證后生成token。
??Controllers文件夾內(nèi)保存的是前后端分離模式下CMS、商城、系統(tǒng)管理版塊的控制器類,其中:
??1)ApiBaseController是非多租戶模式的控制器基類,定義常見的增刪改查函數(shù)實(shí)現(xiàn),不過只有TenantController繼承自該類,用于多租戶管理;
??2)ApiTenantBaseController定義多租戶模式的控制器基類,包含常見的增刪改查、導(dǎo)出數(shù)據(jù)等函數(shù)實(shí)現(xiàn),Cms下的控制器類基本都繼承自該類;
??3)ApiControllerBase是Sys文件夾下的基類,最大的作用是定義默認(rèn)的訪問路由,Sys下的控制器類大多繼承自該類。
序號 | 控制器類 | 說明 | 所屬文件夾 |
---|---|---|---|
1 | AdvListController | 廣告位管理控制器類 | Cms |
2 | ArticleController | 文章管理控制器類 | Cms |
3 | ColumnController | 欄目管理控制器類 | Cms |
4 | KeywordController | 關(guān)鍵詞管理控制器類 | Cms |
5 | MessageController | 留言管理控制器類 | Cms |
6 | AppUserAddressController | 客戶地址管理控制器類 | Shop |
7 | AppUserController | 客戶管理控制器類 | Shop |
8 | CategoryController | 商品分類管理控制器類 | Shop |
9 | GoodsController | 商品管理控制器類 | Shop |
10 | OrderController | 訂單管理控制器類 | Shop |
11 | ConfigController | 字典管理控制器類 | Sys |
12 | LogsController | 日志管理控制器類 | Sys |
13 | MenuController | 菜單管理控制器類 | Sys |
14 | RecycleController | 回收站管理控制器類 | Sys |
15 | RoleController | 角色管理控制器類 | Sys |
16 | TenantController | 多租戶管理控制器類 | Sys |
17 | UserController | 用戶管理控制器類 | Sys |
參考文獻(xiàn):
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity