我正在建立一个程序表,我需要找出一种方法,以便“登录用户”只能访问该程序。
我最初的想法是将此信息存储在表格中的Certified
列中,如此'JohnD', 'JasonD', 'JaneD'.
然后,如果用户登录的是Certified
中存储的用户名之一,我只能显示该过程{1}}栏。
我从Active Directory收集用户,因此我没有用户表。我可以轻松访问他们的用户名和全名等。
程序表将包含许多程序,然后我的KPI表可以为每个程序提供许多KPI。但是,我只希望登录的人能够查看他获得认证的KPI。
我能以一种好的方式解决这个问题吗?
答案 0 :(得分:2)
这是一种多对多的关系。试试这个:
Procedure table procedure_id ... other columns in the procedure table User Table user_id ... other columns in the user table User_to_Procedure table (this is the join table) procedure_id user_id
每个user-can-access-procedure组合在user_to_procedure表中放置一行。
如果您有另一种识别用户的方式(如活动目录),则用户的表是可选的。在活动目录的情况下,连接表中的user_id是从活动目录获得的标识符。
以下是join table的维基百科链接。维基页面将其称为联结表,并将联接表列为同义词。
答案 1 :(得分:0)
仅仅因为您从AD获取用户并不意味着您不能在过程表中拥有用户表或对用户的引用。您可以按需填充其记录,也就是说,当用户需要访问与过程相关的内容时,您可以检查该用户是否经过身份验证,然后即时创建相关记录。