ABP文档 - Mvc 控制器
2018-06-22 07:39:54来源:未知 阅读 ()
![新老客户大回馈,云服务器低至5折](/info/templets/default/images/760x90_D.jpg)
文档目录
本节内容:
- 简介
- 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>)。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- ASP.NET MVC Admin主页快速构建 2020-03-23
- Asp.Net MVC4通过id更新表单内容的思路详解 2020-03-19
- MVC数据验证详解 2020-03-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash