首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在企业级应用程序中,角色应该如何设计?

在企业级应用程序中,角色应该如何设计?
EN

Stack Overflow用户
提问于 2011-08-07 12:42:20
回答 2查看 100关注 0票数 1

我正在创建一个企业级应用程序,其中有不同类型的用户。正常用户,组织管理,超级管理。每个用户都有不同的角色。

  1. 普通用户:核心应用程序的访问功能。orgnisation.
  2. Super
  3. 组织管理:创建用户和它的
  4. 用户:批准用户和组织

这个架构是如何设计的?应该将角色设计为单独的类。或者使用继承不同类型的用户来创建??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-07 12:50:09

通常,角色不是作为类建模的,但它们只是字符串。当用户进行身份验证时,这些字符串中的许多与用户的Security principal相关联。

这些角色可以在代码中进行查询,例如,在web层通过HttpServletRequest#isUserInRole查询,在EJB模块中通过SessionContext.isCallerInRole查询等等。还有一些注释声明了对角色的依赖。

因此,如果您想利用现有的安全性和角色结构,除了定义存在哪些角色并提供一个登录模块来获取身份验证的用户的角色集合之外,没有什么可供您设计的。

对于最后一件事,你可能需要设计一些东西,但不一定。如果将用户存储在目录服务(例如LDAP)中,则只需使用LDAP登录模块即可。大多数应用服务器或servlet容器(如JBoss AS、Glassfish、Tomcat等)默认提供这些服务。如果您的用户位于DB中,那么一个简单的表,其中一个列中的用户具有外键,另一个列中的角色名就可以了。然后,您可以使用一个DB登录模块,它使用一个简单的查询来获取角色。

票数 1
EN

Stack Overflow用户

发布于 2011-08-07 12:47:49

在数据库级别,您有一个用户表、一个角色表和一个用户角色表,该表控制哪些用户拥有哪些角色。

在类级别,您有一个用户类,它有一个角色列表作为属性。

可以向用户类添加方法,例如IsAdmin或IsSuperUser。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6972889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档