有两个函数,假设让我们实现,那么怎样处理异常情况呢?

Roles.AddUserToRole(user, role); 在user已经是role的情况下应当怎样?
Roles.RemoveUserFromRole(user, role); 在user已经不是role的情况下应当怎样?

以前遇到过这类情况,在这两种情况下都会自然放行,因为目的已经达到了,为何要考虑以往的情况呢?但实际上这两个函数都是asp.net中自带的函数,且分别会返回两个exception。

从技术实现的角度看,这样非常多余,但从应用的角度看,越想越有道理。

假设这是一个应用系统,现在底层代码收到了一个指令为一个用户授权或解授权,而此人已经被授权或解授权,极有可能表明在判断逻辑上出了问题,并进而导致在View上显示的授权情况有误,并因此生成了本不该有的操作链接(本人用的是MVC,链接即操作)。这件事情有必要提醒使用者:你看到的表象和实际情况有差异!而不是简单地从技术上解决了之,否则其他地方必定也存在什么错误的授权情况。

点击下载免费的敏捷开发教材:《火星人敏捷开发手册》

转载于:https://www.cnblogs.com/JPAORM/archive/2011/07/29/2510472.html

asp.net中Roles和User的异常处理机制的思考相关推荐

  1. php 异常值检测,PHP中的错误处理、异常处理机制分析

    例: $a = fopen('test.txt','r'); //这里并没有对文件进行判断就打开了,如果文件不存在就会报错 ?> 那么正确的写法应该如下: if(file_exists('tes ...

  2. C异常处理机制:setjmp和longjmp

    setjmp()和longjum()是通过操纵过程活动记录实现的.它是C语言所独有的.它们部分你不了C语言有限的转移能力.这个两个函数协同工作,如下所示:     *setjmp(jmp_buf j) ...

  3. java 异常管理员_Java异常处理机制

    Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行的程序的正常指令流.为了能够及时有效地处理程序中的运行错误,必须使用异常类. 一.异常简介 在程序中, ...

  4. 【Python学习教程】Python异常处理机制

    文章目录 什么是异常处理,Python常见异常类型(入门必读) Python语法错误 Python运行时错误 Python异常处理机制到底有什么用? Python try except异常处理详解(入 ...

  5. ASP.NET中的事务处理和异常处理

    刘彦青编译 来自:yesky 使用SQL-Transaction类和.NET提供的异常处理机制,我们就能够以一种可靠的方式处理数据库运行中的问题和发现系统异常.这篇小文章将解释事务处理和异常处理的概念 ...

  6. 【译】在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本

    本篇文章是讲述使用iTextSharp这个开源组件的系列文章的第三篇,iTextSharp可以通过Asp.Net创建PDFs,就像HTML和ASP.Net为文本提供了多种容器一样,iTextSharp ...

  7. ASP.NET中使用Global.asax文件

    转:http://www.cnblogs.com/ly5201314/archive/2008/09/23/1296868.html ASP.NET中使用Global.asax文件 Global.as ...

  8. 利用JavaScript在ASP.NET中动态生成系统菜单

      用户在登陆一个系统后通常会因为权限的不同而使用不同的系统功能,我们在实现用户使用的菜单项时有两种选择,一是列出全部系统菜单项,根据用户的权限禁用一部分菜单,二是根据权限动态加载菜单,这样只要列出的 ...

  9. Asp.net中Global.asax

    Asp.net中Global.asax Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序 ...

最新文章

  1. Django模型之数据库操作-查询
  2. 一次因网络引起的诡异GC问题,DBA该怎么做?
  3. python3创建多线程的几种方法
  4. python绘制数字23_Python 画数码数字8
  5. b丅151组成的充电器电路_一文读懂uc3842组成的开关电源电路
  6. Bailian2930 加减乘除【水题】
  7. java周报简单模板_快速成长从写一份走心的周报开始
  8. 【学习笔记】用Mac自学虚幻4
  9. win10系统ps3手柄蓝牙连接方法_ps3手柄怎么进入配对模式win10
  10. android 微信小程序 gps 飘,微信小程序实现自动定位功能
  11. java math.min_Java Math.min() 方法
  12. hive中的distribute by
  13. 结巴分词有前空格_jieba英文空格分词问题
  14. 人工智能 —— 语义网络推理
  15. python特征选择relieff图像特征优选_基于Relief特征选择算法的研究与应用
  16. 梅科儿工作室-张勤涛-鸿蒙笔记2
  17. select和select1
  18. 几行代码瞬间卡死电脑
  19. 谷歌身份验证器代码实现
  20. 机载雷达电子对抗视景仿真训练系统软件

热门文章

  1. Android SharedPreference最佳实践
  2. sparkR介绍及安装
  3. mngoDB 常用语法
  4. 快速构建Windows 8风格应用5-ListView数据控件
  5. IE, Firefox, Chrome共同的保存图片bug? 求助。
  6. 【Python笔记】网络编程
  7. switch一定比if else好用吗
  8. Powershell远程管理服务器客户端
  9. nvm、npm、nodejs的关系
  10. 1个报表工具,5大体系,60种可视化图表,靠这些打动领导就够了