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

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

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

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

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

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

 

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

 

posted @ 2011-07-29 16:38  Java EE  阅读(96)  评论(0编辑  收藏  举报