1、统一异常处理

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

思路:

一、定义异常过滤器

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

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

二、配置过滤器

注册MyExceptionFilter

使用:

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

2、统一身份验证

商城身份验证:

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

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

思路:

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

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

3、身份校验

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

3、权限控制

商城权限控制适用场景:

1、可适应单角色控制

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

3、可支持功能扩展

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

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

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

我需要的使用的是IActionFilter.

具体实现:

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

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

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

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

真正执行CancelProductUserRole()方法。

5、过滤器注册

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


ASP.NET开发知识总结的更多相关文章

  1. (转)【ASP.NET开发】获取客户端IP地址 via C#

    [ASP.NET开发]获取客户端IP地址 via C# 说明:本文中的内容是我综合博客园上的博文和MSDN讨论区的资料,再通过自己的实际测试而得来,属于自己原创的内容说实话很少,写这一篇是为了记录自己 ...

  2. 网络基础知识、ASP.NET 核心知识(1)*

    为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...

  3. Cookie详解、ASP.NET核心知识(7)

    无状态的http协议 1.回顾http协议 Http协议是请求响应式的,有请求才有响应,是无状态的,不会记得上次和网页“发生了什么”. 关于http协议的这种特点,黑兔在前面的这三篇博文中进行了详细的 ...

  4. C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?

    C#中??和?分别是什么意思? 在C#中??和?分别是什么意思? 1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; ...

  5. 下一代Asp.net开发规范OWIN(1)—— OWIN产生的背景以及简单介绍

    随着VS2013的发布,微软在Asp.Net中引入了很多新的特性,比如使用新的权限验证模块Identity, 使用Async来提高Web服务器的吞吐量和效率等.其中一个不得不提的是OWIN和Katan ...

  6. ASP.NET 开发必备知识点(1):如何让Asp.net网站运行在自定义的Web服务器上

    一.前言 大家都知道,在之前,我们Asp.net 的网站都只能部署在IIS上,并且IIS也只存在于Windows上,这样Asp.net开发的网站就难以做到跨平台.由于微软的各项技术的开源,所以微软自然 ...

  7. 基于微软平台IIS/ASP.NET开发的大型网站有哪些呢?

    首先说明一下,本文绝不是要说Microsoft平台多么好,多么牛.只是要提醒一些LAMP/JAVA平台下的同志们,微软平台不至于像你们说的,和想象的那么不堪!只是你们自己不知道而已.同时,也希望广大M ...

  8. 谈谈用ASP.NET开发的大型网站有哪些架构方式(成本)

    在上篇文章里(http://www.cnblogs.com/ms0017/archive/2011/07/26/2117676.html),列举了国内外用ASP.NET开发的大型网站有哪些.最后提到了 ...

  9. 基于微软平台IIS/ASP.NET开发的大型网站有哪些?

    首先说明一下,本文绝不是要说Microsoft平台多么好,多么牛.只是要提醒一些LAMP/Java平台下的同志们,微软平台不至于像你们说的,和想象的那么不堪!只是你们自己不知道而已.同时,也希望广大M ...

随机推荐

  1. JS对像和数组的遍历

    零. 通用遍历方法 0.1 for...in... let obj = {0:"a", 1:"b", 2:"c"}; for (let ke ...

  2. dp(不连续和)

      I - I HDU - 2845   Bean-eating is an interesting game, everyone owns an M*N matrix, which is fille ...

  3. CSU 1092 Barricade

    1092: Barricade Time Limit: 1 Sec  Memory Limit: 32 MBSubmit: 240  Solved: 71[Submit][Status][Web Bo ...

  4. hdu6311 Cover (欧拉路径输出)

    hdu6311Cover 题目传送门 题意:有最少用多少条边不重复的路径可以覆盖一个张无向图. 分析:对于一个连通块(单个点除外),如果奇度数点个数为 k,那么至少需要max{k/2,1}  条路径. ...

  5. asp.net ajax的使用

    参考:https://www.cnblogs.com/acles/articles/2385648.html https://www.cnblogs.com/xujingyang/p/5560646. ...

  6. struts2 基础学习

      Struts 2是在WebWork2基础发展而来的. 注意:struts 2和struts 1在代码风格上几乎不一样. Struts 2 相比Struts 1的优点: 1.在软件设计上Struts ...

  7. 变量管理 dotenv 的 使用

    python-dotenv 安装 pip install python-dotenv 或 pipenv install python-dotenv --skip-lock 创建目标文件 在项目根目录下 ...

  8. Error- spark streaming 打包将全部依赖打进去Invalid signature file digest for Manifest main attributes

    spark streaming 打包将全部依赖打进去,运行jar包报错:如下 Exception in thread "main" java.lang.SecurityExcept ...

  9. Codeforces Round #394 (Div. 2) - B

    题目链接:http://codeforces.com/contest/761/problem/B 题意:给定一个环形跑道.里面有n个障碍,跑道长度为L.然后有两个人在两个起点(起点可能相同),每个人都 ...

  10. 动态规划之数字三角形(POJ1163)

    在下面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大.路径上的每一步都只能往左下或 右下走.只需要求出这个最大和即可,不必给出具体路径. 既然求目标问题是根据查表得来的,自然 ...