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、自己根据系统实际的业务需求初始化功能点

 


 

原文地址:https://www.cnblogs.com/xulele/p/5230143.html