zoukankan      html  css  js  c++  java
  • ABP官方文档翻译 6.1.1 MVC控制器

    ASP.NET MVC控制器

    介绍

      ABP通过Abp.Web.Mvc nuget包集成到了ASP.NET MVC Controllers。你可以像往常一样创建MVC控制器。依赖注入属性可以用于通常的MVC控制器。但是你应该继承AbpController,它提供了一些好处并且能够和ABP更好的集成。

    AbpController基类

      这是一个继承AbpController的简单控制器:

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

    本地化

      AbpController定义了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基础属性等。

    过滤器

    异常处理和结果包装

      所有的异常都是自动处理、记录并给客户端返回一个合适的响应。参见异常处理文档了解更多。

      如果返回类型时JsonResult(或异步actions的Task<JsonResult>), ABP会默认包装action的结果。

      你可以通过为controllers或actions或从全局的启动配置使用WrapResultDontWrapResult特性来改变异常处理和包装。

    审计日志

      AbpMvcAuditFilter用来集成审计日志系统。它默认记录所有actions的所有请求(如果审计没有被禁用)。你可以为actions和controllers使用AuditedDisableAuditing特性来控制审计日志。

    验证

      AbpMvcValidationFilter自动检查ModelState.IsValid,如果action没通过验证则阻止其执行。输入DTO的验证实现参见校验文档

    授权

      你可以给controllers或actions使用AbpMvcAutorize特性来禁止未授权的用户使用你的controllers和actions。示例:

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

      你可以为controllers和actions定义AllowAnonymous特性来废除验证/授权。AbpController定义了IsGranted方法作为检查权限的快捷方法。

      参见授权文档了解更多。

    工作单元

      AbpMvcUowFilter用来集成工作单元系统。它自动在action执行前可以使一个工作单元并在action结束后完成工作单元(如果没有异常抛出)。

      你可以使用UnitOfWork特性来控制action的UOW的行为。你也可以使用启动配置来更改所有actions的默认工作单元特性。

    防伪造

      AbpAntiForgeryMvcFilter用来自动保护MVC actions的POST、PUT和DELETE请求免受CSRF/XSRF的攻击。参见CSRF文档了解更多。

    模型绑定器

      AbpMvcDateTimeBinder用来格式化DateTime(和Nullable<DateTime>)输入,它使用Clock.Normalize方法。

    返回主目录

  • 相关阅读:
    关于html元素Css样式设置的一点心得(特别是与位置有关的,还有外边距、内边距有关的那些)
    【idea的一个安装细节】是不是使用idea不能连接网络了?
    html中a标签属性parent和self的举例说明
    关于jquery的each的操作;
    superagent中文文档
    mongoose 查询子文档的方法
    Object.prototype.toString.call()进行类型判断
    局部函数的直接引用与调用
    数据模型中某个字段是单选或者多选的定义方式;
    nodejs项目中的路由写法
  • 原文地址:https://www.cnblogs.com/xajh/p/7056652.html
Copyright © 2011-2022 走看看