Java 在项目之外隔离代码的最佳实践是什么?

Java 在项目之外隔离代码的最佳实践是什么?,java,spring,spring-mvc,spring-security,Java,Spring,Spring Mvc,Spring Security,我目前正在为我的开发商店构建一个基础应用程序。所有项目都围绕着相同的核心业务,安全性可能因需求而异。我们确定了四种安全策略。我正在寻找的是开发一个SecurityUtils JAR文件,在其中实现我的所有逻辑,然后,我的所有项目都将它用作依赖项/引用 问题是:这类工作的最佳实践是什么 我的安全策略需要以下几点: 容器提供的当前用户id(request.getRemoteUser() (通过JCIFS) Http会话用户实体bean 用户会话bean/服务 角色实体bean 角色会话bean/服

我目前正在为我的开发商店构建一个基础应用程序。所有项目都围绕着相同的核心业务,安全性可能因需求而异。我们确定了四种安全策略。我正在寻找的是开发一个SecurityUtils JAR文件,在其中实现我的所有逻辑,然后,我的所有项目都将它用作依赖项/引用

问题是:这类工作的最佳实践是什么

我的安全策略需要以下几点:

  • 容器提供的当前用户id(request.getRemoteUser() (通过JCIFS)
  • Http会话用户实体bean
  • 用户会话bean/服务
  • 角色实体bean
  • 角色会话bean/服务
  • 实用方法 用于使用SpringLDAP查询LDAP(在AD中查找用户,收集用户 来自广告的组、检测用户位置等)
管理员用户可以从Web应用程序管理角色和用户。他们可以选中或取消选中数据库中定义的每个角色的功能。每个角色都链接到一个Active Directory组,以便在登录序列期间完成匹配,然后在用户会话中设置权限以供以后使用

我不太确定该策略的会话bean和EJB部分。我应该将它放在项目中还是将其隔离到SecurityUtils JAR中

我的规格:

  • SpringMVC4.0.3(SpringSecurity和SpringLDAP)
  • 用于模板/视图的模板/视图
  • 用于持久性的EJB3
  • jBoss 4.2.3GA应用服务器
  • PostgreSQL 9.0.3数据库
谢谢你的帮助

查尔斯