首页 文章

数据库用户表和权限

提问于
浏览
0

我正在为大学制作一个数据库系统项目,需要在线登录才能让人们阅读付款信息 . 我有一个“人”表,存储有关人员的信息,他们有一个唯一的标识符,它将是他们的用户名,密码是在其他地方生成的(鉴于系统如何工作,这部分完全没有问题) . 但是,有时候某些人不会直接参与数据库内部的数据,而是会将一个密码授予他们,这些密码将存储在数据库中 .

现在 . 如何为存储在数据库中的这些用户分配“角色”?顺便说一句,我正在使用Oracle和JSP作为我的宿主语言 .

1 回答

  • 0

    好吧,你必须要么

    • 使用Oracle对角色的本机支持,

    • 将您需要的数据存储在表格中,或

    • 从数据库外部可用的内容中派生出来 .

    有关本机支持,请参阅例如docs.oracle.com for CREATE ROLE .

    要在表格中存储所需的数据,您可以使用简单的方法

    create table user_roles (
      user_id integer primary key references users (user_id),
      user_role varchar(20) not null references user_roles (user_role)
    );
    

    如果这样做,请密切关注该表的权限 . 您不希望用户能够升级其角色 .

    为了从数据库之外的东西派生它,你可以使用类似的东西

    • 网络登录名,

    • IP地址,

    • cookie,或

    • 别的 .

    不过,如果其中任何一个工作得很好,我会感到有些惊讶 . 他们中的大多数人可能也需要在数据库中存储一些东西 .

    当我在数据库应用程序中需要角色时,我通常依赖于CREATE ROLE .

相关问题