CAS基础组件 简介

CAS基础组件 简介,第1张

CAS基础组件 简介 Ticket
// 定义了通用的方法获取ID,是否过期,获取准予本Ticket的TGT,获取创建时间,获取使用次数
public interface Ticket extends Serializable, Comparable
    // 增加TGT的特有方法:获取鉴权结果,创建ST,获取绑定的Service集合,获取PGT集合,移除所有Service,设置过期,是否存在父级,获取父级TGT,获取所有的鉴权结果,获取创建PGT的Service
    public interface TicketGrantingTicket extends Ticket
        // TGT委托器
        public class TicketGrantingTicketDelegator extends AbstractTicketDelegator implements TicketGrantingTicket
            // PGT委托器
            public final class ProxyGrantingTicketDelegator extends TicketGrantingTicketDelegator implements ProxyGrantingTicket
        // PGT
        public interface ProxyGrantingTicket extends TicketGrantingTicket
            // PGT的实现
            public final class ProxyGrantingTicketImpl extends TicketGrantingTicketImpl implements ProxyGrantingTicket
            // PGT委托器
            public final class ProxyGrantingTicketDelegator extends TicketGrantingTicketDelegator implements ProxyGrantingTicket
        // TGT的实现
        public class TicketGrantingTicketImpl extends AbstractTicket implements TicketGrantingTicket
            // PGT的实现
            public final class ProxyGrantingTicketImpl extends TicketGrantingTicketImpl implements ProxyGrantingTicket
    // 增加了ST的特有方法:获取绑定的Service,是否和TGT同一时间创建,是否匹配特定Service
    public interface ServiceTicket extends Ticket
        // ST的实现
        public class ServiceTicketImpl extends AbstractTicket implements ServiceTicket
            // PT的实现
            public class ProxyTicketImpl extends ServiceTicketImpl implements ProxyTicket
        // ST委托器
        public class ServiceTicketDelegator extends AbstractTicketDelegator implements ServiceTicket
            // PT委托器
            public final class ProxyTicketDelegator extends ServiceTicketDelegator implements ProxyTicket
        // PT
        public interface ProxyTicket extends ServiceTicket
            // PT的实现
            public class ProxyTicketImpl extends ServiceTicketImpl implements ProxyTicket
            // PT委托器
            public final class ProxyTicketDelegator extends ServiceTicketDelegator implements ProxyTicket
    // 抽象基础类,实现了通用的方法
    public abstract class AbstractTicket implements Ticket, TicketState
        // ST的实现
        public class ServiceTicketImpl extends AbstractTicket implements ServiceTicket
            // PT的实现
            public class ProxyTicketImpl extends ServiceTicketImpl implements ProxyTicket
        // TGT的实现
        public class TicketGrantingTicketImpl extends AbstractTicket implements TicketGrantingTicket
            // PGT的实现
            public final class ProxyGrantingTicketImpl extends TicketGrantingTicketImpl implements ProxyGrantingTicket
    // 委托器
    public abstract class AbstractTicketDelegator implements Ticket
        // ST委托器
        public class ServiceTicketDelegator extends AbstractTicketDelegator implements ServiceTicket
            // PT委托器
            public final class ProxyTicketDelegator extends ServiceTicketDelegator implements ProxyTicket
        // TGT委托器
        public class TicketGrantingTicketDelegator extends AbstractTicketDelegator implements TicketGrantingTicket
            // PGT委托器
            public final class ProxyGrantingTicketDelegator extends TicketGrantingTicketDelegator implements ProxyGrantingTicket
    // 支持编码
    public final class EncodedTicket implements Ticket
TicketRegistry
// 定义了通用的方法:增加Ticket,根据ID获取特定类型的Ticket,根据ID获取Ticket,删除Ticket,获取所有Ticket
public interface TicketRegistry
    // 抽象基础类,实现了:根据ID获取特定类型的Ticket,删除Ticket;增加根据ID删除Ticket算法细节
    public abstract class AbstractTicketRegistry implements TicketRegistry, TicketRegistryState
        // 内部基于ConcurrentHashMap实现Ticket的管理
        public final class DefaultTicketRegistry extends AbstractTicketRegistry
        // 支持分布式场景的抽象基础类,实现了获取代理Ticket实例的算法模板
        public abstract class AbstractDistributedTicketRegistry extends AbstractTicketRegistry
            // 基于JPA实现Ticket的管理
            public class JpaTicketRegistry extends AbstractDistributedTicketRegistry
            // 支持加密Ticket的抽象基础类,实现了加解密Ticket的算法
            public abstract class AbstractCrypticTicketRegistry extends AbstractDistributedTicketRegistry
                // 基于Ehcache实现Ticket的管理
                public final class EhCacheTicketRegistry extends AbstractCrypticTicketRegistry implements InitializingBean
                // 基于Memcached实现Ticket的管理
                public final class MemCacheTicketRegistry extends AbstractCrypticTicketRegistry implements DisposableBean
TicketFactory
// 定义了通用的方法:根据Ticket获取Factory
public interface TicketFactory
    // 默认实现,内部维护Ticket和Factory的映射关系
    public class DefaultTicketFactory implements TicketFactory
    // 支持创建ST
    public interface ServiceTicketFactory extends TicketFactory
        // 默认实现
        public class DefaultServiceTicketFactory implements ServiceTicketFactory
    // 支持创建PT
    public interface ProxyTicketFactory extends TicketFactory
        // 默认实现
        public class DefaultProxyTicketFactory implements ProxyTicketFactory
    // 支持创建TGT
    public interface TicketGrantingTicketFactory extends TicketFactory
        // 默认实现
        public class DefaultTicketGrantingTicketFactory implements TicketGrantingTicketFactory
    // 支持创建PGT
    public interface ProxyGrantingTicketFactory extends TicketFactory
        // 默认实现
        public class DefaultProxyGrantingTicketFactory implements ProxyGrantingTicketFactory
Principal
// 定义了通用的方法:获取ID,获取属性集合
public interface Principal extends Serializable
    // 简单实现,基于HashMap实现属性的管理
    public final class SimplePrincipal implements Principal
    // 空实现,属性集合为空MAP
    public final class NullPrincipal implements Principal
    // 服务的标记接口
    public interface Service extends Principal
Service
// 定义了通用的方法:设置主体,是否匹配指定Service
public interface Service extends Principal
    // 增加了Web Service特有的方法:根据绑定的Ticket生成Response,获取Artifact,获取原始URL,获取Response格式
    public interface WebApplicationService extends Service
        // 增加单点登出Service的特有方法:当前是否已登出,设置当前登出状态
        public interface SingleLogoutService extends WebApplicationService
            // Web Service的抽象实现,实现了所有方法
            public abstract class AbstractWebApplicationService implements SingleLogoutService
                // 简单实现
                public final class SimpleWebApplicationServiceImpl extends AbstractWebApplicationService
                // Saml Service
                public final class SamlService extends AbstractWebApplicationService
                // OpenID Service
                public final class OpenIdService extends AbstractWebApplicationService
                // Google Accounts Service
                public class GoogleAccountsService extends AbstractWebApplicationService
                // OAuth Service
                public final class OAuthWebApplicationService extends AbstractWebApplicationService
RegisteredService
// 定义了通用的方法:获取代理策略,获取唯一ID,获取数字ID,获取名称,获取主题,获取描述,获取评估次序,获取必须处理器名称集合,获取访问策略,是否匹配指定Service,获取登出类型,
public interface RegisteredService extends Cloneable, Serializable
    // 抽象实现
    public abstract class AbstractRegisteredService implements RegisteredService, Comparable
        // 基于Ant Path匹配
        public class RegisteredServiceImpl extends AbstractRegisteredService
        // 基于正则匹配
        public class RegexRegisteredService extends AbstractRegisteredService
            // 支持OAuth client
            public final class OAuthRegisteredService extends RegexRegisteredService
            // 校验Service唯一ID的语法
            public final class OAuthCallbackAuthorizeService extends RegexRegisteredService
            // 校验Service唯一ID的语法
            public final class OAuthRegisteredCallbackAuthorizeService extends RegexRegisteredService
ServiceRegistryDao
// 定义了通用的方法:保存,删除,重载,根据数字ID查找
public interface ServiceRegistryDao
    // 基于ArrayList实现管理
    public final class InMemoryServiceRegistryDaoImpl implements ServiceRegistryDao
    // 基于LDAP实现管理
    public final class LdapServiceRegistryDao implements ServiceRegistryDao
    // 基于Memcached实现管理
    public class CouchbaseServiceRegistryDao implements ServiceRegistryDao
    // 基于JPA实现管理
    public class JpaServiceRegistryDaoImpl implements ServiceRegistryDao
    // 基于JSON File实现管理
    public class JsonServiceRegistryDao implements ServiceRegistryDao
    // 基于MongoDb实现管理
    public final class MongoServiceRegistryDao implements ServiceRegistryDao
ServicesManager
// 定义了通用的方法:保存已注册Service,删除已注册Service,根据Service查找已注册Service,根据ID查找已注册Service,获取所有已注册Service,指定Service是否存在
public interface ServicesManager
    // 支持重载已注册Service集合
    public interface ReloadableServicesManager extends ServicesManager
        // 默认实现,内部基于ConcurrentHashMap实现已注册Service的管理
        public class DefaultServicesManagerImpl implements ReloadableServicesManager, ApplicationEventPublisherAware
CentralAuthenticationService
// 定义了通用的方法:创建TGT,根据ID获取特定类型的Ticket,根据条件获取Ticket集合,创建ST,创建PT,校验ST,销毁TGT,创建PGT
public interface CentralAuthenticationService
    // 抽象实现
    public abstract class AbstractCentralAuthenticationService implements CentralAuthenticationService, Serializable, ApplicationEventPublisherAware
        // 默认实现
        public class CentralAuthenticationServiceImpl extends AbstractCentralAuthenticationService
Credential
// 定义了通用的方法:获取ID
public interface Credential
    // 客户端凭证
    public final class ClientCredential implements Credential, Serializable
    // 基于ID的实现
    public class BasicIdentifiableCredential implements Credential, Serializable
        // 基于token的实现
        public final class TokenCredential extends BasicIdentifiableCredential
    // 抽象实现
    public abstract class AbstractCredential implements Credential, CredentialmetaData, Serializable
        // 一次性密码凭证
        public class OneTimePasswordCredential extends AbstractCredential
        // HTTP端点凭证
        public class HttpbasedServiceCredential extends AbstractCredential
        // 远程地址凭证
        public final class RemoteAddressCredential extends AbstractCredential
        // 带有Principal的凭证
        public final class PrincipalBearingCredential extends AbstractCredential
        // X509证书凭证
        public final class X509CertificateCredential extends AbstractCredential
    // 用户名/密码凭证
    public class UsernamePasswordCredential implements Credential, Serializable
        // 支持记住的用户名/密码
        public class RememberMeUsernamePasswordCredential extends UsernamePasswordCredential implements RememberMeCredential
    // 支持记住场景
    public interface RememberMeCredential extends Credential
        // 支持记住的用户名/密码
        public class RememberMeUsernamePasswordCredential extends UsernamePasswordCredential implements RememberMeCredential
AuthenticationHandler
// 定义了通用的方法:鉴权指定凭证,是否支持指定凭证,获取名称
public interface AuthenticationHandler
    public abstract class AbstractAuthenticationHandler implements AuthenticationHandler
    public final class HttpbasedServiceCredentialsAuthenticationHandler extends AbstractAuthenticationHandler
    public final class PrincipalBearingCredentialsAuthenticationHandler extends AbstractAuthenticationHandler
    public final class OpenIdCredentialsAuthenticationHandler extends AbstractAuthenticationHandler
    public final class RemoteAddressAuthenticationHandler extends AbstractAuthenticationHandler
    public abstract class AbstractPreAndPostProcessingAuthenticationHandler extends AbstractAuthenticationHandler
        public abstract class AbstractUsernamePasswordAuthenticationHandler extends AbstractPreAndPostProcessingAuthenticationHandler
            public class AcceptUsersAuthenticationHandler extends AbstractUsernamePasswordAuthenticationHandler
PrincipalResolver
public interface PrincipalResolver
    public class BasicPrincipalResolver implements PrincipalResolver
    public class ChainingPrincipalResolver implements PrincipalResolver
    public class PersonDirectoryPrincipalResolver implements PrincipalResolver
        public final class OpenIdPrincipalResolver extends PersonDirectoryPrincipalResolver
        public final class PrincipalBearingPrincipalResolver extends PersonDirectoryPrincipalResolver

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5716311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存