或者其他能在你的应用中执行操作的其他系统。\授权\指判定一个principal能否在你的系统中执行某个操作。在到达授权判断之前,principal的的身份认证已经由认证过程执行过了。这些概念是通用的,不是Acegi Security特有的。
在认证层面,Acegi Security广泛支持各种认证模块。这些认证模块绝大多数是第三方提供,或者相关的标准组织开发的,例如Inter 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 mon approach to cross-platform authentication needs, especially in large environments)
? Form-based authentication (for simple user interface needs)
? puter 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 \
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完全支持自动\通道安全\security\,以及集成Jcaptcha来检测是否是真正人类用户。
Acegi Security不仅提供了认证功能,而且提供了完备的授权功能。在授权方面主要有三个领域,授权web请求,授权方法调用,授权存取单个领域对象实例。为了帮助你理解这些区别,对照考虑一下Servlet 规范中的web模式安全的授权功能,EJB容器管理安全以及文件系统安全。Acegi Security提供了所有这些重要领域的完备功能,我们将在本手册的后面介绍。