加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

ABP文档 Mvc 控制器

发布时间:2016-10-31 05:17:20 所属栏目:教程 来源:站长网
导读:文档目录 本节内容: 简介 AbpController基类 本地化 其它 过滤 异常处理和结果包装 审计日志 验证 授权 工作单元 反伪造 模型绑定器 简介 ABP通过nuget包Abp.Web.Mvc集成到Asp.net Mvc 控制器。你可以像往常那样创建普通的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>)。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读