Acegi(01): Acegi安全系统介绍

Acegi安全框架始于2003年,最初作为Spring框架的一个补充出现,旨在为基于Spring的应用提供安全保护。该框架包括安全拦截器、认证管理器、访问决策管理器和运行身份管理器四大核心组件,通过这些组件实现对Web应用及方法调用级别的安全控制。
1Acegi安全系统介绍
Acegi始于2003年晚期,当时在Spring Developers邮件列表中有人提问是否有人考虑提供一个基于Spring的安全实现。当时,Srping的社区是相对比较小的(尤其是和今天相比!),实际上Spring本身也是2003年早期才作为一个SourceForge项目出现的。对此问题的回应是它确实是一个值得研究的领域,虽然限于时间无法进行深入。
    有鉴于此,这个简单的安全实现虽然构建了但是并没有发布。几周以后,Spring社区的其他成员询问了安全框架,代码就被提供给了他们。随后又有人请求,到了2004年一月,大约有20人左右在使用这些代码。另外一些人加入到这些先行的用户中来,并建议建立一个SourceForge项目,这个项目在2004年3月建立起来。
    在早期,该项目自身并不具备任何认证模块。认证过程依赖容器管理安全(Container Managed Security)而Acegi注重授权。在一开始这样是合适的,但是随着越来越多的用户要求额外的容器支持,基于容器的认证的限制就显示出来了。另外一个相关的问题是添加新的JAR文件到容器的classpath,通常会让最终用户感到困惑并且配置错误。
    随后,Acegi加入了认证服务。大约一年后,Acegi成为了一个Spring Framework官方子项目。在2年半多的在多个软件项目中的活跃使用以及数以百计的改进和社区贡献,1.0.0最终版在2006年5月发布。
   今天,Acegi Security成为一个强大而活跃的社区。在支持论坛上有数以千计的帖子。14个开发人员专职开发,一个活跃的社区也定期共享补丁并支持他们的同侪。
现在的Acegi是一个能够为基于Spring的应用系统提供描述性安全保护的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring对依赖注入和面向切面编成的支持。
    当保护Web应用系统时,Acegi使用Servlet过滤器来拦截Servlet请求,以实施身份认证并强制安全性。并且,Acegi采取了一种独特的机制来声明Servlet过滤器,使你可以使用Spring IoC注入它所依赖的其他对象。(该方法建议查看源码,会有些启发)
   Acegi也能够通过保护方法调用在更底层的级别上强制安全性。使用Spring AOP,Acegi代理对象,将“切面”应用于对象,以确保用户只有在拥有恰当授权时才能调用受保护的方法。
    无论你正在保护一个Web应用还是需要方法调用级别的安全性,Acegi都是使用如下的4个主要组件来实施安全性:
安全拦截器、认证管理器、访问决策管理器、运行身份管理器。
1.1安全拦截器
       在Acegi中,我们可以把安全拦截器想象成一扇上着两把锁的大门(这两把锁有着严格的规定,必须先开第一把锁,然后才能开第二把锁),它阻止对应用系统中受保护资源的访问。为了要访问受保护的资源,你首先必须向这扇上着锁的大门提供钥匙(对于系统来说,通常就是用户名和密码)来开第一把锁,然后才是第二把锁。
1.2认证管理器
       认证管理器就是那第一把锁,当你向那扇上着锁的大门提供了钥匙后,即你向系统提供了用户名和密码后,认证管理器就要负责认证你的钥匙是否有效,即你的用户名和密码是否正确。如果钥匙有效,用户名密码正确,那么认证管理器就要给你一个可以代表你身份的标识,即确定你是谁,那么你打开了第一把锁,然后你要去开第二把锁才能访问被保护的资源。
1.3访问决策管理器
    访问决策管理器就是那第二把锁,你要向第二把锁提供钥匙,来开启它。对于认证管理器来说,这第二把钥匙就是你的授权,如果你被授予了访问该受保护资源的权限,那么访问决策管理器就会帮你打开第二把锁。这样安全拦截器的那扇大门就会为你打开,让你访问受保护的资源。
1.4运行身份管理器
当你打开了认真管理器和访问决策管理器这两把锁,并打开了安全拦截器这扇大门之前,安全拦截器也许还有一件事情要做。
即时你已经通过身份认证并且已经获得了访问被保护资源的授权,门后也许还有更多的安全限制在等着你。比如,你也许已被授权访问查看某个Web页面,但用于创建该页面的对象与许和页面本身有不同的安全需求。一个运行身份管理器可以用另一个身份替换你的身份,从而允许你访问应用系统内部更深处的受保护对象。
运行身份管理器的用处在大多数应用系统中是有限的。幸运的是,当你使用Acegi保护应用系统时可以不必使用甚至不必完全理解运行身份管理器。
无界云图(开源在线图片编辑器源码)是由四川爱趣五科技推出的一款类似可画、创客贴、图怪兽的在线图片编辑器。该项目采用了React Hooks、Typescript、Vite、Leaferjs等主流技术进行开发,旨在提供一个开箱即用的图片编辑解决方案。项目采用 MIT 协议,可免费商用。 无界云图提供了一系列强大的图片编辑功能,包括但不限于: 素材管理:支持用户上传、删除和批量管理素材。 操作便捷:提供右键菜单,支持撤销、重做、导出图层、删除、复制、剪切、锁定、上移一层、下移一层、置顶、置底等操作。 保存机制:支持定时保存,确保用户的工作不会丢失。 主题切换:提供黑白主题切换功能,满足不同用户的视觉偏好。 多语言支持:支持多种语言,方便全球用户使用。 快捷键操作:支持快捷键操作,提高工作效率。 产品特色 开箱即用:无界云图采用了先进的前端技术,用户无需进行复杂的配置即可直接使用。 免费商用:项目采用MIT协议,用户可以免费使用和商用,降低了使用成本。 技术文档齐全:提供了详细的技术文档,包括技术文档、插件开发文档和SDK使用文档,方便开发者进行二次开发和集成。 社区支持:提供了微信技术交流群,用户可以在群里进行技术交流和问题讨论。 环境要求 Node.js:需要安装Node.js环境,用于运行和打包项目。 Yarn:建议使用Yarn作为包管理工具,用于安装项目依赖。 安装使用 // 安装依赖 yarn install // 启动项目 yarn dev // 打包项目 yarn build 总结 无界云图是一款功能强大且易于使用的开源在线图片编辑器。它不仅提供了丰富的图片编辑功能,还支持免费商用,极大地降低了用户的使用成本。同时,详细的文档和活跃的社区支持也为开发者提供了便利的二次开发和集成条件。无论是个人用户还是企业用户,都可以通过无界云图轻
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值