为系统进行身份验证设计(登录表单)的良好做法是什么

时间:2019-05-20 15:07:34

标签: java sql database netbeans database-schema

大家好,我正在建立一个员工管理系统。

我制作了一些形式的应用程序,例如CRUD形式的employee和其他东西。 我还用数据库中的用户实现了登录表单,但是我在正确设计数据库时遇到了问题。 我希望每次从Employee CRUD表单添加一个雇员时,将其添加为可以登录到系统的用户。.
当前,我正在数据库中手动添加用户,但是我不希望这样做,因为用户将来自Employee,Admin和Manager 3个类别。.
我正在使用JPA进行数据库。下面将向您展示数据库模式的照片。

DB SCHEMA

什么是良好的做法,所以每次我添加要作为USER添加的可以登录系统的员工时,

感谢您的每一个回答,以及您的时间。

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是在employee表(isUser,isManager ...)中包含布尔值。如果您可以担任一个或多个角色,并且不需要更多信息(用户只是选中了布尔值的员工,那么这很好)。

-

如果您需要有关角色的更多信息,则可以将employee表链接到具有所需字段的其他表。

对于雇员与用户之间的示例,请在Employee(userID)和一个名为user的表中添加外键,其中包含您需要的字段。例如:

用户ID,密码,lastConnectionDate ...

-

另一种方法是拥有一个表“角色”和一个表“雇员”。想法是添加另一个具有3个键的表“ employeeRoles”:

IDEmployeeRoles,IDEmployee,IDRole

就像您将能够链接许多具有多个角色的员工一样。