关于设计:
每个用户都是SOME组的一部分.(销售,零件,棒球运动员,等等)
每个"网页"都会被一群人看到.(获得特别许可的销售+零件+会计乔)
每个网页通常都是某个级别的一组网页的一部分 - 您可能会尝试将这些网页保留在某个目录中,或者从一些前缀开始但不总是 - 即当有人加入销售时您不想指定 - 他们看看SalesPage1,SalesPage2,SalesPage3,SalesPartsPage1等.
NotMe.. 10
最简单的方法如下:
用户:包含用户,名称和ID的列表
SecurityGroups:包含安全组列表,例如"Sales","Marketing".(id,安全组名称)
页面:包含您的页面列表(ID,页面名称)
UserSecurityGroups:(userId,securityGroupId).已分配权利的交叉参考表
PageSecurityGroups :( pageId,securityGroupId,允许).允许访问该页面的安全组成员身份的交叉引用表.
对于每个页面加载,您将检查特定页面的PageSecurityGroups表是否包含用户具有的组访问权限.
显然,可能还有更多内容,例如将页面分配给特定用户,但您可以根据需要对应用程序进行推断.
最简单的方法如下:
用户:包含用户,名称和ID的列表
SecurityGroups:包含安全组列表,例如"Sales","Marketing".(id,安全组名称)
页面:包含您的页面列表(ID,页面名称)
UserSecurityGroups:(userId,securityGroupId).已分配权利的交叉参考表
PageSecurityGroups :( pageId,securityGroupId,允许).允许访问该页面的安全组成员身份的交叉引用表.
对于每个页面加载,您将检查特定页面的PageSecurityGroups表是否包含用户具有的组访问权限.
显然,可能还有更多内容,例如将页面分配给特定用户,但您可以根据需要对应用程序进行推断.