知识积累(四)——Acegi (version1.0.4)中文参考手册——第一章 简介

acegi(Spring Security) 参考手册 Spring的安全权限框架,此为中文参考手册 立即下载
 

Part I. 架构概览

象其他的软件一样,Acegi Security也有在整个框架中都会使用的特定核心接口,类,和概念抽象。在手册的这一部分,在检视这些规划和执行Acegi Security集成所必须的核心要素之前,我们先介绍Acegi Security。


第一章. 简介

1.1. Acegi Security是什么?

Acegi Security为基于J2EE的企业软件应用提供全面的安全服务。特别是使用领先的J2EE解决方案-Srping框架开发的项目。如果您不是使用Spring开发企业应用,我们温馨提醒您仔细研究一下。熟悉Spring,尤其是依赖注射原理,会极大的帮助你快速掌握Acegi Security。

人们使用Acegi Security有很多种原因,不过通常吸引他们到这个项目的原因是他们在J2EE的 Servlet Specification 或者 EJB Specification中找不到迫切需要的典型企业应用场景。提到这些规范,特别要提出的是他们不是在WAR或者EAR级别可移植的。这样,如果你切换服务器环境,一般来说你要在目标环境中花费很多工夫来重新配置你的应用安全。使用Acegi Security解决了这些问题,并且为你提供了很多其他有用的,完全可定制的安全特性。

如你所知,安全包含两个主要操作。第一个被称为“认证”,是为用户建立一个它所声明的principal。Principal通常代表用户,设备,或者其他能在你的应用中执行操作的其他系统。“授权”指判定一个principal能否在你的系统中执行某个操作。在到达授权判断之前,principal的的身份认证已经由认证过程执行过了。这些概念是通用的,不是Acegi Security特有的。

在认证层面,Acegi Security广泛支持各种认证模块。这些认证模块绝大多数是第三方提供,或者相关的标准组织开发的,例如Internet Engineering Task Force。作为补充,Acegi Security自己也提供了一些认证功能。Acegi Security当前支持如下的认证技术。

• HTTP BASIC authentication headers (an IEFT RFC-based standard)

• HTTP Digest authentication headers (an IEFT RFC-based standard)

• HTTP X.509 client certificate exchange (an IEFT RFC-based standard)

• LDAP (a very common approach to cross-platform authentication needs, especially in large environments)

• Form-based authentication (for simple user interface needs)

• Computer Associates Siteminder

• JA-SIG Central Authentication Service (otherwise known as CAS, which is a popular open source single sign on system)

• Transparent authentication context propagation for Remote Method Invocation (RMI) and HttpInvoker (a Spring remoting protocol)

• Automatic "remember-me" authentication (so you can tick a box to avoid re-authentication for a predetermined period of time)

• Anonymous authentication (allowing every call to automatically assume a particular security identity)

• Run-as authentication (which is useful if one call should proceed with a different security identity)

• Java Authentication and Authorization Service (JAAS)

• Container integration with JBoss, Jetty, Resin and Tomcat (so you can still use Container Manager Authentication if desired)

• 你自己的认证系统 (如下所示)

很多独立软件供应商(ISVs)选择Acegi Security是因为它具有丰富的认证模块。这样无论他们的终端客户需要什么,他们都可以快速集成到他们的系统中,不用花很多工夫或者让终端客户改变环境。如果Acegi Security System for Spring的7个认证模块还没有满足你的需求的话,Acegi Security是一个开放的系统,很容易写你自己的认证机制。许多Acegi Security的企业用户需要和“遗留”系统集成,这些遗留系统不遵循任何安全标准,Acegi Security能够和这样的系统“合作愉快”。

有时候基本的认证是不够的。有时候你需要根据principal和应用交互的方式来应用不同的安全措施。例如,你可能为了防止密码被窃取,或者防止终端用户受到“中间人”攻击,需要保证到达的是请求通过HTTPS的。或者,你要确保是一个真正的人而不是某种机器人或者自动进程在发送请求。这对于保护密码恢复不受暴力破解攻击,或者防止他人很容易的复制你应用的关键内容。为了帮助你实现这些目标,Acegi Security完全支持自动“通道安全”("channel security"),以及集成Jcaptcha来检测是否是真正人类用户。

Acegi Security不仅提供了认证功能,而且提供了完备的授权功能。在授权方面主要有三个领域,授权web请求,授权方法调用,授权存取单个领域对象实例。为了帮助你理解这些区别,对照考虑一下Servlet 规范中的web模式安全的授权功能,EJB容器管理安全以及文件系统安全。Acegi Security提供了所有这些重要领域的完备功能,我们将在本手册的后面介绍。

1.2. 历史

Acegi Security始于2003年晚期,当时在Spring Developers邮件列表中有人提问是否有人考虑提供一个基于Spring的安全实现。当时,Srping的社区是相对比较小的(尤其是和今天相比!),实际上Spring本身也是2003年早期才作为一个SourceForge项目出现的。对此问题的回应是它确实是一个值得研究的领域,虽然限于时间无法进行深入。

有鉴于此,这个简单的安全实现虽然构建了但是并没有发布。几周以后,Spring社区的其他成员询问了安全框架,代码就被提供给了他们。

随后又有人请求,到了2004年一月,大约有20人左右在使用这些代码。另外一些人加入到这些先行的用户中来,并建议建立一个SourceForge项目,这个项目在2004年3月建立起来。

在早期,该项目自身并布具备任何认证模块。认证过程依赖容器管理安全(Container Managed Security)而Acegi Security注重授权。在一开始这样是合适的,但是随着越来越多的用户要求额外的容器支持,基于容器的认证的限制就显示出来了。另外一个相关的问题是添加新的JAR文件到容器的classpath,通常会让最终用户感到困惑并且配置错误。

随后,Acegi Security加入了认证服务。大约一年后,Acegi Security成为了一个Spring Framework官方子项目。在2年半多的在多个软件项目中的活跃使用以及数以百计的改进和社区贡献, 1.0.0 最终版在2006年5月发布。

今天,Acegi Security成为一个强大而活跃的社区。在支持论坛上有数以千计的帖子。14位开发人员专职开发,一个活跃的社区也定期共享补丁并支持他们的同侪。

 

1.3. 发行版本号

理解Acegi Security的版本号是非常好处的,它可以帮助你判定升级的到新的版本是否需要花费很大精力。我们的正式发行版本使用Apache Portable Runtime Project版本指引,可以在下述网站查看http://apr.apache.org/versioning.html。为了您查看方便,我们引用该页的说明部分如下:

“版本号由三个部分的整数组成:主版本号(MAJOR)、副版本号(MINOR)、补丁版本号(PATCH)。主要的含义是主版本号(MAJOR)是不兼容的,API大规模升级。副版本号(MINOR)在源文件和可执行版和老版本保持兼容,补丁版本号(PATCH)则意味着向前和向后的完全兼容”。

Acegi (version1.0.4)中文参考手册 Acegi (version1.0.4)中文参考手册.Acegi Security为基于J2EE的企业应用软件提供全面的安全解决方案。正如你在本手册中看到的那样,我们尝试为您提供有用的,高可配置的安全系统。 立即下载

相关推荐

小红书UID泄露风险揭秘:如何防止你的手机号被社工库关联(附防护指南)

本文揭示了小红书UID泄露的严重风险,详细解析了UID与手机号关联后被社工库利用的完整链条。通过分析黑产的数据整合技术,提供从基础到进阶的防护策略,包括密码管理、账号隔离和应急响应措施,帮助用户有效防范个人信息泄露风险。

ol789012345的博客 1510

acegi参考手册(v1.0.4)[译]-第一章 简介

<st3:sn w:st="on">Part</st3:sn> <st1:place w:st="on"><st3:sn w:st="on">I.</st3:sn></st1:place> 架构概览<o:p></o:p> 象其他

leondu 206

QCPColorMap实现瀑布图

QCPColorMap实现真正的瀑布图

pf1873252141的博客 5270

Acegi (Spring Security)入门

Acegi (Spring Security)入门

wengyupeng 蜗牛一步一步向前。。。 2万+

ChatUI vs Ant Design X 技术选型对比

维度ChatUI优势轻量级、易上手、完美兼容 Ant Design全能型框架、企业级扩展性、深度模型集成局限性功能单一、缺乏高级交互支持学习曲线陡峭、包体积较大最佳实践单独聊天窗口集成整体智能助手系统开发通过对比可见,ChatUI 适合快速实现基础对话功能,而Ant Design X 更适合构建复杂的 AI 驱动应用。实际选择时需结合项目规模、团队技术栈和对交互复杂度的需求综合评估。

四楼没电梯的专栏 2264

一觉醒后ChatGPT 被淘汰了

近日,AI 界貌似出现了一种新的趋势:自主人工智能。这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并在推特赞扬:「AutoGPT 是 prompt 工程的下一个前沿。」

Rocky006的博客 13万+

acegi-security 学习笔记

acegi security 是基于spring framework 开源安全解决方案。按自己的理解,其功能主要是提供了一个WEB应用安全解决方案框架。并提供了一些缺省的实现。所以,如果我们的应用中需要引入这套解决方案的话,可以根据自己的应用需求进行相应的扩充。另外,由于acegi security 是基于spring framework 的,所以可以和现有的基于spring framework

soleghost的专栏 4859

pcie硬件时序分析实战(PHY层眼图测量)​

PCIe高速接口的信号完整性(SI)直接影响系统带宽和稳定性。其中,​。

xiaoheshang_123的博客 858

知识积累(三)——Acegi (version1.0.4)中文参考手册——序言

序言Acegi Security为基于J2EE的企业应用软件提供全面的安全解决方案。正如你在本手册中看到的那样,我们尝试为您提供有用的,高可配置的安全系统。安全是一个永无止境的目标,获取一个全面的,系统级的实现方式是至关重要的。在安全界,我们鼓励你采用“分层安全”,这样每个层都确保自身尽可能的安全,另外的层提供另外的安全。每个层自身越“紧密”,你的系统就越鲁棒和安全。在底层,你要处理传输入

适己而忘人者,人之所弃;克己而立人者,众之所戴。 812

PCL 读取和保存点云

PCL (Point Cloud Library) 是一个用于处理 3D 点云数据的开源库。在处理点云数据时,常见的任务包括点云的读写和可视化。PCL 提供了强大的 IO 模块来读取和写入各种格式的点云文件,并且提供了可视化模块来对点云进行渲染和显示。点云的读写与显示是很多 3D 数据处理任务的基础步骤,通过这些步骤,可以对点云进行预处理、分析和操作。

纵马踏花向自由 1737

迫零均衡前与迫零均衡后眼图对比附Matlab代码

迫零均衡(Decision Feedback Equalization,DFE)是一种常用的数字通信技术,用于抑制信号传输中的多径干扰。迫零均衡(Decision Feedback Equalization,DFE)是一种常用的数字通信技术,用于抑制信号传输中的多径干扰。眼图是一种常用的信号质量评估工具,通过绘制接收到的信号在时域上的波形,可以直观地观察到噪声、失真和干扰等问题。眼图是一种常用的信号质量评估工具,通过绘制接收到的信号在时域上的波形,可以直观地观察到噪声、失真和干扰等问题。

ByteSparkX的博客 459

知识积累(八)——Acegi (version1.0.4)中文参考手册——第五章 标签库

 第五章标签库5.1. 概述Acegi Security带有若干个可以降低JSP编写难度的JSP标签库。标签库的标志是authz,它提供了一些各不相同的服务。5.2. 配置所有的标签库类都包含在acegi-security-xx.jar文件中,authz.tld在JAR的META-INF目录。这意味着如果在JSP1.2以上的wb容器中,你只要把JAR文件放到WEB-INF/li

适己而忘人者,人之所弃;克己而立人者,众之所戴。 873

知识积累(九)——Acegi (version1.0.4)中文参考手册——第六章 通用认证服务

 第六章. 通用认证服务6.1. Mechanisms, Providers 和 Entry Points如果你使用Acegi Security提供的认证方法,那么通常你需要配置一个web filter,一个AuthenticationProvider以及AuthenticationEntryPoint。在本节我们将要浏览一个示例应用,它需要支持基于form的认证(例如提供给用

适己而忘人者,人之所弃;克己而立人者,众之所戴。 947

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

知识积累(六)——Acegi (version1.0.4)中文参考手册——第三章 协助系统

 第三章. 协助系统 本章介绍一些Acegi Security使用的附加和协助系统。那些和安全无关,但是包含在Acegi Security项目中的部分,将会在本章中讨论3.1. 本地化Acegi Security支持对终端客户可能会看到的异常信息进行本地化。如果你的应用是为英文用户设计的,那么你什么都不用做,因为Acegi Security的所有消息默认都是英文的。如果你要支持其他区域

适己而忘人者,人之所弃;克己而立人者,众之所戴。 1080

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

知识积累(五)——Acegi (version1.0.4)中文参考手册——第二章 技术概览

 第二章. 技术概览2.1. 运行时环境Acegi Security可以在JRE1.3中运行。这个发行版本中支持也Java 5.0,尽管对应的Java类型被分开打包到一个后缀是“tiger”的包中。因为Acegi Security致力于以一种自包含的方式运行,因此不需要在JRE中放置任何特殊的配置文件。特别无需配置Java Authentication and Authorizat

适己而忘人者,人之所弃;克己而立人者,众之所戴。 963

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

知识积累(七)——Acegi (version1.0.4)中文参考手册——第四章 信道安全

 第四章. 信道安全4.1. 概述Acegi Security不仅能满足你的认证和授权的请求,而且能够保证你的未认证的web请求也能拥有某些属性。这些属性可能包括使用特定的传输类型,在HttpSession设置特定的属性等等。Web请求的最普遍的需求是使用特定的传输协议,例如HTTPS。在传输安全中的一个重要议题就是会话劫持(session hijacking)。Web容器通过一个

适己而忘人者,人之所弃;克己而立人者,众之所戴。 873

Acegi (version1.0.4)中文参考手册 [转载自 dxjsunday]

 acegi参考手册(v1.0.4)[译]-序言 序言 Acegi Security为基于J2EE的企业应用软件提供全面的安全解决方案。正如你在本手册中看到的那样,我们尝试为您提供有用的,高可配置的安全系统。 安 全是一个永无止境的目标,获取一个全面的,系统级的实现方式是至关重要的。在安全界,我们鼓励你采用“分层安全”,这样每个层都确保自身尽可能的安全,另 外的层提供另外的安全。每个层自身

懒散狂徒的专栏 2518

Acegi 参考手册(V1.0.4) 翻译

Acegi 参考手册(V1.0.4) 翻译<!-- google_ad_client = "pub-8438768637354676"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; goog

xiaoqi1985的专栏 1157

acegi参考手册(v1.0.4)[译]-第三章 协助系统

第三章. 协助系统 本章介绍一些Acegi Security使用的附加和协助系统。那些和安全无关,但是包含在Acegi Security项目中的部分,将会在本章中讨论 3.1. 本地化 Acegi Security支持对终端客户可能会看到的异常信息进行本地化。如果你的应用是为英文用户设计的,那么你什么都不用做,因为Acegi Security的所有消息默认都是英文的。如果你要支持其他区域用户,那么...

leondu 193

acegi security实践教程—form认证

上篇博客给大家介绍了basic认证,同时也带领大家debug了一下源码,所以流程想必大家都已经了解了,那么现在只剩下各种认证的配置了。 具体步骤如下: 开发环境: MyEclispe10.7.1+tomcat6.0.37+acegi1.0.5+spring2.0 项目目录如下: 其中readme主要用来记录本次验证目的 配置文件 web.xml: ...

webdev 290

Acegi框架介绍

原文网址:http://www.oschina.net/question/12_8396 概述     对于任何一个完整的应用系 统,完善的认证和授权机制是必不可少的。Acegi Security(以下简称Acegi)是一个能为基于Spring的企业应用提供强大而灵活安全访问控制解决方案的框架,Acegi已经成为 Spring官方的一个子项目,所以也称为Spring Security。它通过

Hello World! 1084

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 285

【项目推荐】基于 SpringBoot3 + Spring AI 的游泳馆管理系统:Agent + RAG + Function Calling 一次学全

它不是玩具 Demo,而是一个「业务 + AI」双主线交织的真实系统——预约业务在跑,AI 客服在旁边实时查库作答,两条线通过 Function Calling、RAG、站内消息串成一体。面试官问「你做过什么 AI 项目」时,你能从业务场景讲到架构取舍,从 RAG 切分参数讲到降级兜底——这和「我调了一下 ChatGPT 的 API」是完全不同的两个段位。项目已包含完整的建表 SQL、初始化数据、部署文档,克隆下来就能跑。获取方式:见文末说明 / 后台回复关键词获取。—— 完 ——

深耕开发,专注编程实战。分享源码解析、项目搭建、问题排查笔记,沉淀技术,持续更新。 347

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 346

实际工程问题:AI 生成 Spring Cache(@Cacheable / @CachePut / @CacheEvict)缓存注解踩坑

商品详情服务,要求:商品基础信息走缓存,减少 DB 查询;典型:AI 只贴注解,忽略 AOP 代理、key 设计、缓存穿透/击穿/过期、序列化、同步刷新,本地单测正常,上线后缓存脏数据、命中率异常、雪崩。如果业务在事务中,@CacheEvict / @CachePut 如果在事务提交前执行,一旦事务回滚,缓存已经被删掉/更新,数据不一致。• 如果在同一个类里用 this.xxx() 调用带缓存注解的方法,不走代理,缓存直接失效;// 更新商品:先更新 DB,再删除缓存,而不是直接 @CachePut。

2401_89363342的博客 456
上一篇: 知识积累(三)——Acegi (version1.0.4)中文参考手册——序言
下一篇: 知识积累(五)——Acegi (version1.0.4)中文参考手册——第二章 技术概览
码匠君
博客等级 码龄22年 153粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值