我正在为大学制作一个数据库系统项目,需要在线登录才能让人们阅读付款信息 . 我有一个“人”表,存储有关人员的信息,他们有一个唯一的标识符,它将是他们的用户名,密码是在其他地方生成的(鉴于系统如何工作,这部分完全没有问题) . 但是,有时候某些人不会直接参与数据库内部的数据,而是会将一个密码授予他们,这些密码将存储在数据库中 .
现在 . 如何为存储在数据库中的这些用户分配“角色”?顺便说一句,我正在使用Oracle和JSP作为我的宿主语言 .
好吧,你必须要么
使用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 .
1 回答
好吧,你必须要么
使用Oracle对角色的本机支持,
将您需要的数据存储在表格中,或
从数据库外部可用的内容中派生出来 .
有关本机支持,请参阅例如docs.oracle.com for CREATE ROLE .
要在表格中存储所需的数据,您可以使用简单的方法
如果这样做,请密切关注该表的权限 . 您不希望用户能够升级其角色 .
为了从数据库之外的东西派生它,你可以使用类似的东西
网络登录名,
IP地址,
cookie,或
别的 .
不过,如果其中任何一个工作得很好,我会感到有些惊讶 . 他们中的大多数人可能也需要在数据库中存储一些东西 .
当我在数据库应用程序中需要角色时,我通常依赖于CREATE ROLE .