我们在我们的(ASP.NET Web)应用程序中有一个相当复杂的权限处理系统。用户可以在不同类型的对象上拥有特定的权限,有些权限甚至被打包成用户分配的组/角色。总之,这导致了一个相当复杂的混乱状态,为了确定用户是否可以执行/查看某些操作,您必须评估许多不同的权限来源,这是根据具体情况进行的。
我的问题是(从高层次的角度来看)是否有一些建议/常见的设计模式来处理权限概念,并且可能还要问一下您在处理它们的体系结构方面的经验。
我的问题是(从高层次的角度来看)是否有一些建议/常见的设计模式来处理权限概念,并且可能还要问一下您在处理它们的体系结构方面的经验。
bool UserHasPermission( SOME_PERMISSION )
来进行授权,这是授权的标准方法,但现在情况正在改变,转向基于声明的授权方式:
http://msdn.microsoft.com/en-us/magazine/ee335707.aspx
http://msdn.microsoft.com/en-us/magazine/cc163366.aspx
http://www.infoq.com/news/2009/10/Guide-Claim-Based-Identity
然而,并不是所有情况都适用于旧模型。