繁体   English   中英

身份验证和授权服务的类图

[英]Class Diagram for Authentication and Authorization Service

这是场景

系统有两个主要用户,SYSTEM USER 和END USER。 最终用户进一步分为两个用户,名为 CLIENT USER 和 INTERNET USER,客户端用户关联到数据库可访问帐户,而 Internet 用户则不是。

所有的用户被划分为不同的角色,每个角色都与一组可访问的模块相关联,不同的模块包含不同的功能,如查看、添加、编辑和删除功能。

不同的角色可能与模块中的不同功能相关联。 示例超级管理员角色可以在用户访问模块中访问和添加编辑删除功能,而高级用户只能访问或查看它。

当用户登录时,安全服务将使用用户名和密码对用户进行身份验证。 如果通过身份验证,它将查找与用户关联的角色并在屏幕上显示授予的模块供用户选择访问。


我创建了一个简单的类图,其中包含每个类的字段或属性,我只是不确定它是否正确,例如实现的连接器或关系、每个类的基数和方法,我只输入了一个类的方法和即用于登录 (login()) 方法。

在此处输入图片说明

我可以看到您的模型有一些问题:

  • 那些填充的箭头应该是什么? 如果您的意思是继承,那么您必须使用未填充的箭头。
  • LOGIN 也是用户吗? 这有什么奇怪的。 我希望 login() 是一个以用户名和密码作为参数的操作,不一定是它自己的一个类,我可能不会用属性 UserName 和 Password 对其进行建模。
  • 如果 USER 的所有子类都有用户名和密码。 你不认为你应该在类 USER 上定义那些吗?
  • USER 和 END USER 应该是具体的还是抽象的? 似乎他们可能需要抽象。
  • 类通常以单数形式命名。 所以宁可使用 ROLE 而不是 ROLES
  • roleID 在 USER 类上做什么? 这似乎是错误的。 如果您使用 UML,则不要在您的类上放置外键字段。 RoleID 是 ROLE 的一个属性,不应在 USER 上。
  • 为什么需要所有这些 ID 属性? 如果您在逻辑级别上建模,您可以假设每个类都有一个唯一的标识,并且您无需担心该标识的技术实现(字符串、GUID 等)。 另一方面,如果您正在制作技术模型,那么您会遗漏大约 70% 的细节。

我会做这样的事情: 在此处输入图片说明

你得到可以登录的用户和不同角色的用户,当你执行一个函数(重命名的服务)时,服务获取它的模块并请求模块检查会话用户是否有权执行服务。

这对你有帮助吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM