UML中基于角色的访问控制

时间:2018-11-18 20:15:40

标签: java uml

我试图弄清楚我需要在基于角色的访问控制系统的UML中指定什么。 基本上,我有一个数据库,只有特定的人员才能访问该数据库中的特定功能或信息。我的学术助手告诉我使用基于角色的访问控制系统,并将一些东西写在纸上。

enter image description here

在左侧,您可以在Model-View-Control的模型部分中看到这3个角色,并将其连接到数据库。 我的基本问题是:在Role类和Role类中,我需要哪些函数/变量,以便访问控制系统起作用,为什么? 通常,这应该用Java编写。

编辑:每个角色都有其自己的登录凭据,因此在登录时将对其进行标识。使用该登录名,他们应该获得其中一个角色,但我不知道如何赋予他们该角色。

1 个答案:

答案 0 :(得分:0)

嗯,仍然有很多很多方法可以对此建模。基本上,这不是UML,而是设计问题。无论如何,这是有可能的:

enter image description here

用户只有一个Role,该Role在登录期间被永久分配。当然,具有管理员权限的用户可以将此角色更改为其他角色。 Applications包含分配的RoleApplication的列表,其中关联类// rating.js const mongoose = require('mongoose') const joigoose = require('joigoose')(mongoose) // Require the 'ratings' schema const schema = require('./rating-schema') // Convert joi to mongoose schema const mongooseSchema = joigoose.convert(schema); // Modify some fields with database specific instructions mongooseSchema.email.unique = true // Add fields which don't make sense on the schema validator mongooseSchema.updatedAt = { type: Date, default: Date.now } mongooseSchema.createdAt = { type: Date, default: Date.now } // Define mongoose model const Ratings = mongoose.model('Ratings', mongooseSchema) module.exports = Ratings 可以保存有关角色可以对应用程序执行的操作的属性。

现在,您如何控制管理员可以更改权限,并且安全系统附带的所有这些漂亮功能绝对太宽泛了,无法在此处使用。