我有一个应用程序(碰巧在Access 2007中),我实现了一个经典的用户授权结构: 用户 - >角色 - >对象类 - >对象
因此,每个用户都注册为一个或多个角色,该角色映射到一个或多个对象类,这些对象类映射到经典的多对多关系中的一个或多个对象。对象通常是用户表单,但包括“F11”,例如,能够打开“访问导航”窗格。
为了使用这个结构,我创建了一个查询(实际上,一个SQL Server的“View”,因为后端是SQL Server ......)“扁平”它,并且基本上允许调用一个“Authorize(User, Object)“返回给定用户是否授权给定对象的函数...没有麻烦,没有大惊小怪。
现在,我刚刚被要求建立一个结构,用户可以被授权为“发起人”,“审批者”,“管理员”或给定供应商的时间表的任意组合。我以为我会尝试使用我的标准授权结构来满足这个新要求,但我对如何最好地构建它有点困惑。
这是否与任何人立即产生共鸣?我没有必要向用户公开结构,我只是制作一个在幕后完成工作的表单。你怎么看?太复杂?太简单?