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

标签 java sql database netbeans database-schema

大家好,目前我正在制作一个员工管理系统。

我已经制作了一些形式的应用程序,例如员工的 CRUD 形式等等。 我还实现了登录表单,其中包含数据库中的用户,但我在正确设计数据库时遇到问题。 我希望每次从员工 CRUD 表单添加员工时,都将其添加为可以登录系统的用户。
目前,我正在数据库中手动添加用户,但我不希望这样做,因为用户将来自 3 个类别,员工、管理员和经理..
我使用 JPA 作为数据库。下面我将向您展示数据库架构的照片。

DB SCHEMA

什么是一个好的做法,这样每次我添加一个员工作为可以登录系统的用户时,

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

最佳答案

最简单的解决方案是在员工表中添加 boolean 值(isUser、isManager ...)。如果您可以拥有一个或多个角色并且不需要更多信息(用户只是检查了 boolean 值的员工),那么这很好。

--

如果您需要有关角色的更多信息,可以将您的员工表链接到包含您需要的字段的其他表。

例如,在员工和用户之间,在 Employee (userID) 中添加一个外键,并在名为 user 的表中添加您需要的字段。例如:

用户ID、密码、上次连接日期...

--

另一种方法是有一个表“roles”和一个表“employe”。这个想法是添加另一个有 3 个键的表“employeeRoles”:

IDEmployeeRoles、IDEmployee、IDRole

这样,您将能够将许多具有多种角色的员工联系起来。

关于java - 为系统进行身份验证设计(登录表单)的好做法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56223682/

相关文章:

sql - 如何计算列的平均值然后将其包含在oracle的选择查询中?

sql - 将数据从访问导入到打开的 Excel 电子表格? (Excel VBA)

mysql - 在 ER 图中实现特化

java - application.xml 中必需的尾部斜杠

java - 搜索字符串只打印出没有附加字符的搜索

java - Java 8 和 Java 13 中的 Math.pow() 返回不同的结果

java - AIN SIP Java API 注册到 Asterisk 服务器?

java - 在 hql 中将结果集从 int 转换为 boolean

sql - 从表有 > 0 行的 all_tab_columns 中选择

sql - 如何优化包含没有唯一值的字段的插入 SQL 查询?