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