当前位置: 首页 > 知识库问答 >
问题:

用户角色登录的数据库设计方案选择?

苏麒
2024-01-22

一个Java springboot程序,需要用户根据角色登录,用户角色有管理员、学生、教师三种

目前数据库表有如下两种构建方式:

  1. 直接整一个用户表然后加一个权限字段
  2. 除用户表外,对于角色分成老师学生管理员三个表,将其与用户表进行关联

从程序的健壮性及后期维护成本来说,请问哪种方案好一点

共有2个答案

淳于升
2024-01-22

直接整一个用户表然后有一个字段是ROLE_ID,它就是角色表的主键,不需要把多种角色拆成多张表,一张角色表就可以了,如果要继续细分到权限,那就角色表里面有一个字段RIGHT_ID关联到权限表

苏品
2024-01-22

你只需要建立一个角色表就行了,然后使用角色表的id与用户表进行关联,这样就方便扩展与使用了

 类似资料:
  • 登录帧 菜单框架

  • 【注意】下列选项和选项卡会根据服务器版本而有所不同。 常规属性 角色名 定义数据库角色的名。 所有者 指定数据库角色的所有者。 成员属于 在列表里,指定此数据库角色成为已选择的数据库角色的成员。 成员 在列表里,指定已选择的数据库用户和角色成为此数据库角色的成员。 拥有的模式 在列表里,勾选数据库角色拥有的模式。 数据库权限 在网格中,勾选“权限”列出的数据库权限,勾选“授予”、“含授予选项”或“

  • 【注意】下列选项和选项卡会根据服务器版本而有所不同。 常规属性 角色名 定义数据库角色的名。 所有者 指定数据库角色的所有者。 成员 在列表里,指定已选择的数据库用户和角色成为此数据库角色的成员。 成员属于 在列表里,指定此数据库角色成为已选择的数据库角色的成员。 拥有的模式 在列表里,勾选数据库角色拥有的模式。 数据库权限 在网格中,对照在“权限”列出的数据库权限,勾选“授予”、“授予选项”或“

  • 【注意】下列选项和选项卡会根据服务器版本而有所不同。 常规属性 角色名 定义数据库角色的名。 所有者 指定数据库角色的所有者。 成员属于 在列表里,指定此数据库角色成为已选择的数据库角色的成员。 成员 在列表里,指定已选择的数据库用户和角色成为此数据库角色的成员。 拥有的模式 在列表里,勾选数据库角色拥有的模式。 数据库权限 在网格中,勾选“权限”列出的数据库权限,勾选“授予”、“含授予选项”或“

  • 用户已作为用户角色登录,我想以员工身份登录而不提交登录表单,但身份验证失败, 请查一下密码,帮帮我 @requestmapping(value=“/home”)public ModelAndView userHomePage(Model Model,HttpServletRequest request,HttpServletResponse response,Principal Principal

  • 我需要使用登录的员工的角色在jsp页面中隐藏导航。应用程序使用单点登录登录。我将只从另一个应用程序获得用户的用户名,我将使用该应用程序在数据库中搜索以获得员工的详细信息。我在employee表中有一个role列,我目前正在javascript中使用它来显示和隐藏导航。如何设置spring security role并在jsp标记中使用“hasRole('any role')”,以显示或隐藏导航。我