`

讨论:Acegi安全框架能解决和不能解决的安全问题

阅读更多
   就我目前对Acegi的了解,Acegi安全框架主要解决的安全问题是访问入口级别的安全问题,安全问题我将其分为三类:
1) 入口级安全
   具体体现上界面上每个操作菜单,操作元素是否可操作,在服务端则对URL程序资源和业务服务类方法的限制。

2) 数据域安全
  数据域控制包括两个部分,分别是:
  2.1 行级数据控制 即可以可以访问哪些数据行,一般的限制项是数据所属单位;
  2.2 字段级控制 即用户可以访问数据行的哪些字段;

3)系统级安全
  如访问IP段的限制,登录时间段的限制,登录次数的限制等。

    Acegi由于和业务无关,所以只能解决1)点的安全问题,2),3)的安全问题是和业务,组织机构相关的,所以必须程序编码解决。
    严格上说,Acegi对1)点的解决也是不彻底的,因为它只解决了服务端的程序资源访问控制,操作界面上的元素是要我们编码实现的。不过,这也好理解,因为界面的入口元素是最灵活多样的,Acegi不应该涉足。
所以我觉得Acegi在一个很适合的领域时,很好的解决了一些适合框架解决的问题,它不贪恋那些不容易框架实现而需求变化大多的问题。
  
分享到:
评论
5 楼 kimfly 2006-11-06  
acegi中的acl不就是为了解决domain object的授权问题而提出的吗,我看了下,应该可以解决行级数据控制 即可以可以访问哪些数据行,一般的限制项是数据所属单位,当然这里面不包括具体逻辑的东西,如与创建者相关的信息等。
4 楼 realzn 2006-11-06  
控制ip,自己写代码
public class UserAuthenticationProcessingFilter extends AuthenticationProcessingFilter {
......
String ip = request.getRemoteAddr();
.......
Authentication authResult = getAuthenticationManager().authenticate(authRequest);
if (authResult != null && authResult.getPrincipal() instanceof UserDetails) {
UserDetails ud = (UserDetails) authResult.getPrincipal();
User user = userManager.getUserByLoginidAndPasswd(ud.getUsername(), ud.getPassword());
if (!user.getIp().equals(ip)) {
throw new IpAuthenticationException("ip没有授权");
}

}
}
。。。。
)
3 楼 stamen 2006-11-05  
   谢谢指正,继续学习。
2 楼 quaff 2006-11-05  
Feiing 写道
stamen 写道
 
    Acegi由于和业务无关,所以只能解决1)点的安全问题,2),3)的安全问题是和业务,组织机构相关的,所以必须程序编码解决。
    严格上说,Acegi对1)点的解决也是不彻底的,因为它只解决了服务端的程序资源访问控制,操作界面上的元素是要我们编码实现的。不过,这也好理解,因为界面的入口元素是最灵活多样的,Acegi不应该涉足。
所以我觉得Acegi在一个很适合的领域时,很好的解决了一些适合框架解决的问题,它不贪恋那些不容易框架实现而需求变化大多的问题。


1. 实例级权限控制 Acegi 通过 ACL 实现, 虽然使用上不太方便, 但它是标准的方案

2. 属性级权限控制还没听有通用的方案

3. 界面上通过 auth tag 实现控制, 一般的需求足够用了, 太特殊的也不是 security framework 管辖的范畴

4. 限登录 ip, 时间, 次数本身也不是难点, 新的版本应该会提供


4.可以限制同时登录次数,详情参考springside
仿照这个写一个登录ip和时间限制的plugin一点都不难
1 楼 Feiing 2006-11-04  
stamen 写道
 
    Acegi由于和业务无关,所以只能解决1)点的安全问题,2),3)的安全问题是和业务,组织机构相关的,所以必须程序编码解决。
    严格上说,Acegi对1)点的解决也是不彻底的,因为它只解决了服务端的程序资源访问控制,操作界面上的元素是要我们编码实现的。不过,这也好理解,因为界面的入口元素是最灵活多样的,Acegi不应该涉足。
所以我觉得Acegi在一个很适合的领域时,很好的解决了一些适合框架解决的问题,它不贪恋那些不容易框架实现而需求变化大多的问题。


1. 实例级权限控制 Acegi 通过 ACL 实现, 虽然使用上不太方便, 但它是标准的方案

2. 属性级权限控制还没听有通用的方案

3. 界面上通过 auth tag 实现控制, 一般的需求足够用了, 太特殊的也不是 security framework 管辖的范畴

4. 限登录 ip, 时间, 次数本身也不是难点, 新的版本应该会提供

相关推荐

    acegi安全策略与CAS整合

    文档的目的是确保用户能够成功地将AceGI安全框架集成到他们的应用程序中,利用CAS服务器进行单点登录(SSO)和身份验证,以提高系统的安全性。 0.2 文档范围: 此文档涵盖了从安装CAS服务器,配置AceGI安全策略,到...

    收集的一些ACEGI 资料

    综上所述,ACEGI Security是一个强大的Java安全框架,它为Spring应用提供了一套全面的安全解决方案。尽管现在已被Spring Security所取代,但了解ACEGI的历史和工作原理对于理解Spring Security的演变过程仍然很有...

    SSH框架实验教学管理研究

    ### SSH框架实验教学管理研究知识点概述 ...综上所述,SSH框架实验教学管理研究不仅解决了传统J2EE框架中存在的问题,还通过引入Acegi安全框架增强了平台的安全性,最终实现了高效、稳定且易于维护的实验教学管理平台。

    acegi_help.zip_Help!_acegi

    Acegi Security,现已被Spring Security所取代,是Java EE应用程序中的一个...在Spring Security已经广泛使用的今天,了解Acegi的历史和原理,依然有助于理解Spring Security的设计思路,从而更好地应用现代安全框架。

    基于rbac模式的acegi权限管理

    Acegi Security是Spring框架的一个扩展,它为Java应用程序提供了全面的安全性解决方案。在Acegi中,RBAC模式被用于构建一个灵活且可扩展的权限管理系统。下面我们将详细介绍Acegi Security与RBAC的结合以及在Spring...

    现基于Spring框架应用的权限控制系统

    Acegi安全框架则是一个基于Spring的第三方安全解决方案,它利用Spring的IOC和AOP机制实现安全控制。 Spring框架的核心是IoC和AOP。IoC降低了类之间的耦合,使得对象的创建和管理更加灵活。AOP则是处理系统级服务,...

    使用 Acegi 保护 Java 应用程序: 续一

    Acegi 安全框架是 Spring 框架的一个扩展,用于提供高级安全性和身份验证功能。在 Java 应用程序中,特别是在企业级环境中,确保应用程序的安全性是至关重要的。Acegi 提供了一种灵活且强大的方式来管理用户权限、...

    acegi学习

    首先,"Acegi安全系统介绍.doc"文档很可能是对Acegi框架的基础概述,它可能涵盖了Acegi的核心概念,如安全上下文、访问决策管理器、认证和授权流程。文档可能会讲解Acegi如何通过过滤器链与Spring MVC协同工作,拦截...

    acegi学习整理合集

    这个“acegi学习整理合集”包含了多个关于Acegi的讨论和教程,旨在帮助开发者深入理解并有效地运用Acegi进行应用的安全管理。 首先,"学习ACEGI - - New - JavaEye论坛.mht"可能是一个关于Acegi的入门教程,涵盖了...

    acegi实现用户权限

    Acegi Security是Spring框架的一个扩展,它提供了一套完整的安全解决方案,用于控制应用程序的访问权限。在这个主题中,我们将深入探讨Acegi Security的核心概念、配置以及如何在实际项目中应用。 首先,Acegi ...

    spring2 struts2 acegi

    6. 源码分析,理解每个框架的关键类和接口的工作方式,有助于解决集成过程中的问题。 7. 使用开发工具,如IntelliJ IDEA或Eclipse,安装相应的插件来支持Spring、Struts 2和Spring Security的开发。 总之,"spring2...

    acegi(Spring Security) 参考手册

    总的来说,《Acegi(Spring Security)参考手册》是学习和理解Spring Security不可或缺的资源,无论你是初学者还是有经验的开发者,都能从中获取到实用的知识和深入的理解,以构建更加安全、健壮的Spring应用。...

    SpringAcegiTutorial.rar

    标签"Acegi Spring"进一步明确了这个教程的主题,即使用Acegi安全框架与Spring框架的整合。 在压缩包内的文件名列表中,我们可以看到以下内容: 1. "SpringAcegiTutorial-1_1.pdf":这可能是一个PDF文档,包含了...

    Spring Security 安全权限管理手册

    Spring Security 作为 Java 领域内领先的安全框架之一,为开发者提供了强大而灵活的安全解决方案。无论是对于初学者还是经验丰富的开发者来说,掌握 Spring Security 的核心概念和技术都将大有裨益。希望本手册能...

    http://www.blogjava.net/youlq/archive/2005/12/06/22678.html

    标题中的链接指向了一篇关于Acegi安全框架在Spring框架中使用的文章,而描述中的博文链接则是另一篇关于技术讨论的文章。结合标签“源码”和“工具”,我们可以推测这篇文章主要探讨的是如何通过Acegi安全框架来增强...

    Spring Security Reference中文版

    - **Spring Security** 是一种用于构建安全系统的框架,它提供了广泛的API来处理常见的安全问题,如身份验证(authentication)、授权(authorization)、CSRF保护等。 - **灵活性**:支持多种认证方式,包括基于...

    基于JAVA的安全电子商务(论文).rar

    综上所述,基于JAVA的安全电子商务论文将详细分析和讨论如何利用JAVA的各种特性与工具来构建一个安全、高效且可靠的电子商务系统,涵盖了从底层安全模型到高层应用框架的全面设计与实现。通过深入理解和实践这些知识...

    Spring_Security_3

    Spring Security 是一款广泛应用于 Java 应用程序的安全框架,特别是在基于 Spring 框架构建的应用中。它为开发人员提供了一种简单而强大的方式来保护 Web 应用程序免受恶意攻击。Spring Security 3(本书关注的版本...

    Spring Security 2 参考手册 中文版 (html格式)

    总的来说,Spring Security 2 的中文参考手册提供了一个全面的学习资源,帮助开发者熟练掌握这个安全框架,确保企业应用的安全性和合规性。通过深入阅读和实践手册中的示例,你可以构建出强大且灵活的安全解决方案。

    DWR中文文档

    - **问题提出**:讨论安全性问题。 - **解决方案**:通过Acegi增强DWR的安全性。 #### 六、DWR中的JavaScript简介 ##### 5.1 简单的回调函数 介绍如何在JavaScript中定义和使用回调函数,响应DWR服务的调用结果。 ...

Global site tag (gtag.js) - Google Analytics