程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> <<ABP文檔>> Mvc 控制器,abp文檔mvc控制器

<<ABP文檔>> Mvc 控制器,abp文檔mvc控制器

編輯:關於.NET

<<ABP文檔>> Mvc 控制器,abp文檔mvc控制器


文檔目錄

 

本節內容:

  • 簡介
  • AbpController基類
    • 本地化
    • 其它
  • 過濾
    • 異常處理和結果包裝
    • 審計日志
    • 驗證
    • 授權
    • 工作單元
    • 反偽造
  • 模型綁定器

 

簡介

ABP通過nuget包Abp.Web.Mvc集成到Asp.net Mvc 控制器。你可以像往常那樣創建普通的Mvc控制器,依賴注入可以對普通的Mvc控制器起作用,但你應當使你的控制繼承自AbpController,它提供了許多好處和更好的集成到ABP。

 

AbpController基類

這是一個簡單的繼承自AbpController的控制器:

public class HomeController : AbpController
{
    public ActionResult Index()
    {
        return View();
    }
}

 

本地化 

ABP定義了L方法,使本地化更加容易,例如:

public class HomeController : AbpController
{
    public HomeController()
    {
        LocalizationSourceName = "MySourceName";
    }

    public ActionResult Index()
    {
        var helloWorldText = L("HelloWorld");

        return View();
    }
}

要先設置LocalizationSourceName,才能讓L方法正常工作,你可以在你的控制器基類裡設置,這樣就不用為每個控制器重復設置。

 

其它

你可以使用預先注入的AbpSession、EventBus、PermissionManager、PermissionChecker、SettingManager、FeatureManager、FeatureChecker、LocalizationManager、Logger、CurrentUnitOfWork等基屬性。

 

過濾

異常處理和結果包裝

所有的異常都被自動處理、日志並返回一個適應的響應給客戶端,更多信息查看異常處理。

如果Action的返回類型是JsonResult(或異步的Task<JsonResult>),ABP也會默認地去包裝這個結果。

你可以通過給控制器或Action使用WrapResult和DontWrapResult特性來修改異常處理和結果包裝,也可以在啟動配置(using Configuration.Modules.AbpMvc()...)進行全局設置。更多信息查看ajax文檔。

 

審計日志

AbpMvcAuditFilter用來集成到審計日志系統,它在默認情況下記錄所有對所有Action請求(如果審計沒有被禁用),你可以用Audited和DisableAuditing特性控制Action和控制器的審計日志。

 

驗證

AbpMvcValidationFilter自動檢查ModelState.IsValid並在檢測到非法時阻止Action執行。實現輸入DTO的驗證在驗證文檔裡進行了描述。

 

授權

你可以為你的api控制器或Action使用AbpApiAuthorize特性,阻止未授權用戶訪問它們,例如:

public class HomeController : AbpController
{
    [AbpMvcAuthorize("MyPermissionName")]
    public ActionResult Index()
    {
        return View();
    }
}

 

你可以為Action或控制器定義AllowAnonymous特性,廢止認證/授權。AbpApiController也定義了一個在定義裡檢查許可的快捷方法IsGranted。

更多信息查看授權文檔。 

 

工作單元

AbpMvcUowFilter用來集成到工作單元系統,在一個Action執行前自動開始一個工作單元,並在Action執行結束後完成工作單元(如果沒有異常拋出)。

你可為一個Action使用UnitOfWork特性,控制它的工作單元行為,你也可以在啟動配置裡為所有Action修改默認的工作單元特性。

 

防偽造

AbpAntiForgeryMvcFilter自動保護Mvc的Action,阻止來自CSRF/XSRF的POST、PUT和DELETE請求攻擊。更多信息查看CSRF文檔。

 

模塊綁定器

AbpMvcDateTimeBinder用來標准化通過Clock.Normalize方法輸入的DateTime(和Nullable<DateTime>)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved