当前位置: 首页>>代码示例>>Java>>正文


Java TicketGrantingTicket.getProxiedBy方法代码示例

本文整理汇总了Java中org.jasig.cas.ticket.TicketGrantingTicket.getProxiedBy方法的典型用法代码示例。如果您正苦于以下问题:Java TicketGrantingTicket.getProxiedBy方法的具体用法?Java TicketGrantingTicket.getProxiedBy怎么用?Java TicketGrantingTicket.getProxiedBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jasig.cas.ticket.TicketGrantingTicket的用法示例。


在下文中一共展示了TicketGrantingTicket.getProxiedBy方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: evaluateProxiedServiceIfNeeded

import org.jasig.cas.ticket.TicketGrantingTicket; //导入方法依赖的package包/类
/**
 * Evaluate proxied service if needed.
 *
 * @param service the service
 * @param ticketGrantingTicket the ticket granting ticket
 * @param registeredService the registered service
 */
protected final void evaluateProxiedServiceIfNeeded(final Service service, final TicketGrantingTicket ticketGrantingTicket,
                                            final RegisteredService registeredService) {
    final Service proxiedBy = ticketGrantingTicket.getProxiedBy();
    if (proxiedBy != null) {
        logger.debug("TGT is proxied by [{}]. Locating proxy service in registry...", proxiedBy.getId());
        final RegisteredService proxyingService = servicesManager.findServiceBy(proxiedBy);

        if (proxyingService != null) {
            logger.debug("Located proxying service [{}] in the service registry", proxyingService);
            if (!proxyingService.getProxyPolicy().isAllowedToProxy()) {
                logger.warn("Found proxying service {}, but it is not authorized to fulfill the proxy attempt made by {}",
                        proxyingService.getId(), service.getId());
                throw new UnauthorizedProxyingException("Proxying is not allowed for registered service "
                        + registeredService.getId());
            }
        } else {
            logger.warn("No proxying service found. Proxy attempt by service [{}] (registered service [{}]) is not allowed.",
                    service.getId(), registeredService.getId());
            throw new UnauthorizedProxyingException("Proxying is not allowed for registered service "
                    + registeredService.getId());
        }
    } else {
        logger.trace("TGT is not proxied by another service");
    }
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:33,代码来源:AbstractCentralAuthenticationService.java

示例2: getActiveSsoSessions

import org.jasig.cas.ticket.TicketGrantingTicket; //导入方法依赖的package包/类
/**
 * Gets sso sessions.
 *
 * @param option the option
 * @return the sso sessions
 */
private Collection<Map<String, Object>> getActiveSsoSessions(final SsoSessionReportOptions option) {
    final Collection<Map<String, Object>> activeSessions = new ArrayList<>();
    final ISOStandardDateFormat dateFormat = new ISOStandardDateFormat();

    for (final Ticket ticket : getNonExpiredTicketGrantingTickets()) {
        final TicketGrantingTicket tgt = (TicketGrantingTicket) ticket;

        if (option == SsoSessionReportOptions.DIRECT && tgt.getProxiedBy() != null) {
            continue;
        }

        final Authentication authentication = tgt.getAuthentication();
        final Principal principal = authentication.getPrincipal();

        final Map<String, Object> sso = new HashMap<>(SsoSessionAttributeKeys.values().length);
        sso.put(SsoSessionAttributeKeys.AUTHENTICATED_PRINCIPAL.toString(), principal.getId());
        sso.put(SsoSessionAttributeKeys.AUTHENTICATION_DATE.toString(), authentication.getAuthenticationDate());
        sso.put(SsoSessionAttributeKeys.AUTHENTICATION_DATE_FORMATTED.toString(),
                dateFormat.format(authentication.getAuthenticationDate()));
        sso.put(SsoSessionAttributeKeys.NUMBER_OF_USES.toString(), tgt.getCountOfUses());
        sso.put(SsoSessionAttributeKeys.TICKET_GRANTING_TICKET.toString(), tgt.getId());
        sso.put(SsoSessionAttributeKeys.PRINCIPAL_ATTRIBUTES.toString(), principal.getAttributes());
        sso.put(SsoSessionAttributeKeys.AUTHENTICATION_ATTRIBUTES.toString(), authentication.getAttributes());

        if (option != SsoSessionReportOptions.DIRECT) {
            if (tgt.getProxiedBy() != null) {
                sso.put(SsoSessionAttributeKeys.IS_PROXIED.toString(), Boolean.TRUE);
                sso.put(SsoSessionAttributeKeys.PROXIED_BY.toString(), tgt.getProxiedBy().getId());
            } else {
                sso.put(SsoSessionAttributeKeys.IS_PROXIED.toString(), Boolean.FALSE);
            }
        }

        sso.put(SsoSessionAttributeKeys.AUTHENTICATED_SERVICES.toString(), tgt.getServices());

        activeSessions.add(sso);
    }
    return activeSessions;
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:46,代码来源:SingleSignOnSessionsReportController.java


注:本文中的org.jasig.cas.ticket.TicketGrantingTicket.getProxiedBy方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。