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

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

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

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

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

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



本文转自火星人陈勇 51CTO博客,原文链接:http://blog.51cto.com/cheny/1100125

上一篇:未来几大科技发展趋势—人工智能、物联网、量子计算……


下一篇:智能汽车中人工智能算法应用及其安全综述