ASP.NET开发知识总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET开发知识总结相关的知识,希望对你有一定的参考价值。

1、统一异常处理

? ? 某商城采用的异常处理方式,是全局统一捕捉,统一处理

? ?思路:

? ?一、定义异常过滤器

? ?技术分享

?

? ?实现 MyExceptionFilter : FilterAttribute,IExceptionFilter,重写OnException方法,

? ?IExceptionFilter会在出现异常的时候调用

?二、配置过滤器

技术分享

注册MyExceptionFilter?

技术分享

使用:

例如:我们在controller 抛的异常即会被MyExceptionFilter?自动捕获。

技术分享

?

?

2、统一身份验证

商城身份验证:

1、可自由配置,针对哪些页面,甚至哪些功能需要进行身份验证

2、全局性,全局功能可以调用同一套身份验证体系。

?

思路:

1、配置过滤器,并自定义身份校验逻辑

技术分享

?

2、代码:?需重写OnAuthorization()方法

技术分享

3、身份校验

技术分享

在查看产品明细时,就需要对当前用户的身份进行验证。

?

?

?

3、权限控制

商城权限控制适用场景:

1、可适应单角色控制

2、可适应混合角色控制(用户可能为角色1,同为也可能为角色2)

3、可支持功能扩展

4、权限控制粒度:功能点

原理:MVCUrl的执行是按照Controller->Action->View页面 ?ASP.NET MVC允许我们创建action过滤器Filter,我们都知道在Action上使用的每一个 [Attribute]大都是自定义的Filter

mvc提供四种类型的Filter接口:IActionFilterIAuthorizationFilterIExceptionFilterIResultFilter 这四种Filter足以满足我们所要实现的功能,它还提供了几个现

我需要的使用的是IActionFilter.

具体实现:

1、定义一个自定义的Action拦截器,继承ActionFilterAttribute接口

技术分享

2、重写onActionExecuting方法,该方法?在调用操作方法前调用。在该方法内写自己的权限处理逻辑。

技术分享

3、定义两个属性:ModuleCode 和 ActionCode ,顾名思义,一个是模块编码,一个是功能点编码

技术分享

?

4、比如我要对"取消产品线经理"进行权限控制,此时,每次用户使用这个方法时,都会对用户的权限进行校验后,再

真正执行CancelProductUserRole()方法。

技术分享

5、过滤器注册

技术分享

6、自己根据系统实际的业务需求初始化功能点

?


?

以上是关于ASP.NET开发知识总结的主要内容,如果未能解决你的问题,请参考以下文章

处理asp.net核心中的异常?

在 ASP.NET Core 2 中处理异常的推荐方法? [关闭]

理解ASP.NET Core

ASP.NET Web开发技术的深入总结

Asp.net MVC 之异常处理

asp.net core 自定义异常处理中间件