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


Java RegisteredService.getLogoutType方法代码示例

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


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

示例1: handleLogoutForSloService

import org.jasig.cas.services.RegisteredService; //导入方法依赖的package包/类
/**
 * Handle logout for slo service.
 *
 * @param singleLogoutService the service
 * @param ticketId the ticket id
 * @return the logout request
 */
private LogoutRequest handleLogoutForSloService(final SingleLogoutService singleLogoutService, final String ticketId) {
    if (!singleLogoutService.isLoggedOutAlready()) {

        final RegisteredService registeredService = servicesManager.findServiceBy(singleLogoutService);
        if (serviceSupportsSingleLogout(registeredService)) {

            final URL logoutUrl = determineLogoutUrl(registeredService, singleLogoutService);
            final DefaultLogoutRequest logoutRequest = new DefaultLogoutRequest(ticketId, singleLogoutService, logoutUrl);
            final LogoutType type = registeredService.getLogoutType() == null
                    ? LogoutType.BACK_CHANNEL : registeredService.getLogoutType();

            switch (type) {
                case BACK_CHANNEL:
                    if (performBackChannelLogout(logoutRequest)) {
                        logoutRequest.setStatus(LogoutRequestStatus.SUCCESS);
                    } else {
                        logoutRequest.setStatus(LogoutRequestStatus.FAILURE);
                        LOGGER.warn("Logout message not sent to [{}]; Continuing processing...", singleLogoutService.getId());
                    }
                    break;
                default:
                    logoutRequest.setStatus(LogoutRequestStatus.NOT_ATTEMPTED);
                    break;
            }
            return logoutRequest;
        }

    }
    return null;
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:38,代码来源:LogoutManagerImpl.java

示例2: mapRegisteredService

import org.jasig.cas.services.RegisteredService; //导入方法依赖的package包/类
@Override
public void mapRegisteredService(final RegisteredService svc, final ServiceData bean) {
    bean.setAssignedId(Long.toString(svc.getId()));
    bean.setServiceId(svc.getServiceId());
    bean.setName(svc.getName());
    bean.setDescription(svc.getDescription());
    if (svc.getLogo() != null) {
        bean.setLogoUrl(svc.getLogo().toExternalForm());
    }
    bean.setRequiredHandlers(svc.getRequiredHandlers());

    if (svc instanceof OAuthRegisteredCallbackAuthorizeService) {
        bean.setType(RegisteredServiceTypeEditBean.OAUTH_CALLBACK_AUTHZ.toString());
    }

    if (svc instanceof OAuthRegisteredService) {
        bean.setType(RegisteredServiceTypeEditBean.OAUTH.toString());
        final OAuthRegisteredService oauth = (OAuthRegisteredService) svc;
        final RegisteredServiceOAuthTypeEditBean oauthBean = bean.getOauth();
        oauthBean.setBypass(oauth.isBypassApprovalPrompt());
        oauthBean.setClientId(oauth.getClientId());
        oauthBean.setClientSecret(oauth.getClientSecret());
    }

    bean.setTheme(svc.getTheme());
    bean.setEvalOrder(svc.getEvaluationOrder());
    final LogoutType logoutType = svc.getLogoutType();
    switch (logoutType) {
        case BACK_CHANNEL:
            bean.setLogoutType(RegisteredServiceLogoutTypeEditBean.BACK.toString());
            break;
        case FRONT_CHANNEL:
            bean.setLogoutType(RegisteredServiceLogoutTypeEditBean.FRONT.toString());
            break;
        default:
            bean.setLogoutType(RegisteredServiceLogoutTypeEditBean.NONE.toString());
            break;
    }
    final URL url = svc.getLogoutUrl();
    if (url != null) {
        bean.setLogoutUrl(url.toExternalForm());
    }

    final RegisteredServicePublicKey key = svc.getPublicKey();
    final RegisteredServicePublicKeyEditBean pBean = bean.getPublicKey();
    if (key != null) {
        pBean.setAlgorithm(key.getAlgorithm());
        pBean.setLocation(key.getLocation());
    }
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:51,代码来源:DefaultRegisteredServiceMapper.java

示例3: fromRegisteredService

import org.jasig.cas.services.RegisteredService; //导入方法依赖的package包/类
/**
 * From registered service to a service bean.
 *
 * @param svc the svc
 * @return the registered service bean
 */
public static RegisteredServiceEditBean fromRegisteredService(final RegisteredService svc) {
    final RegisteredServiceEditBean serviceBean = new RegisteredServiceEditBean();
    final ServiceData bean = serviceBean.getServiceData();

    bean.setAssignedId(svc.getId());
    bean.setServiceId(svc.getServiceId());
    bean.setName(svc.getName());
    bean.setDescription(svc.getDescription());
    if (svc.getLogo() != null) {
        bean.setLogoUrl(svc.getLogo().toExternalForm());
    }
    bean.setRequiredHandlers(svc.getRequiredHandlers());

    configureAccessStrategy(svc, bean);

    if (svc instanceof OAuthRegisteredCallbackAuthorizeService) {
        bean.setType(RegisteredServiceTypeEditBean.OAUTH_CALLBACK_AUTHZ.toString());
    }

    if (svc instanceof OAuthRegisteredService) {
        bean.setType(RegisteredServiceTypeEditBean.OAUTH.toString());
        final OAuthRegisteredService oauth = (OAuthRegisteredService) svc;
        final RegisteredServiceOAuthTypeEditBean oauthBean = bean.getOauth();
        oauthBean.setBypass(oauth.isBypassApprovalPrompt());
        oauthBean.setClientId(oauth.getClientId());
        oauthBean.setClientSecret(oauth.getClientSecret());
    }

    bean.setTheme(svc.getTheme());
    bean.setEvalOrder(svc.getEvaluationOrder());
    final LogoutType logoutType = svc.getLogoutType();
    switch (logoutType) {
        case BACK_CHANNEL:
            bean.setLogoutType(RegisteredServiceLogoutTypeEditBean.BACK.toString());
            break;
        case FRONT_CHANNEL:
            bean.setLogoutType(RegisteredServiceLogoutTypeEditBean.FRONT.toString());
            break;
        default:
            bean.setLogoutType(RegisteredServiceLogoutTypeEditBean.NONE.toString());
            break;
    }
    final URL url = svc.getLogoutUrl();
    if (url != null) {
        bean.setLogoutUrl(url.toExternalForm());
    }
    final RegisteredServiceUsernameAttributeProvider provider = svc.getUsernameAttributeProvider();
    final RegisteredServiceUsernameAttributeProviderEditBean uBean = bean.getUserAttrProvider();

    configureUsernameAttributeProvider(provider, uBean);

    final RegisteredServicePublicKey key = svc.getPublicKey();
    final RegisteredServicePublicKeyEditBean pBean = bean.getPublicKey();
    if (key != null) {
        pBean.setAlgorithm(key.getAlgorithm());
        pBean.setLocation(key.getLocation());
    }
    configureProxyPolicy(svc, bean);
    configureAttributeReleasePolicy(svc, bean);
    return serviceBean;
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:68,代码来源:RegisteredServiceEditBean.java

示例4: performLogout

import org.jasig.cas.services.RegisteredService; //导入方法依赖的package包/类
/**
 * Perform a back channel logout for a given ticket granting ticket and returns all the logout requests.
 *
 * @param ticket a given ticket granting ticket.
 * @return all logout requests.
 */
@Override
public List<LogoutRequest> performLogout(final TicketGrantingTicket ticket) {
    final Map<String, Service> services;
    // synchronize the retrieval of the services and their cleaning for the TGT
    // to avoid concurrent logout mess ups
    synchronized (ticket) {
        services = ticket.getServices();
        ticket.removeAllServices();
    }
    ticket.markTicketExpired();

    final List<LogoutRequest> logoutRequests = new ArrayList<LogoutRequest>();
    // if SLO is not disabled
    if (!disableSingleSignOut) {
        // through all services
        for (final String ticketId : services.keySet()) {
            final Service service = services.get(ticketId);
            // it's a SingleLogoutService, else ignore
            if (service instanceof SingleLogoutService) {
                final SingleLogoutService singleLogoutService = (SingleLogoutService) service;
                // the logout has not performed already
                if (!singleLogoutService.isLoggedOutAlready()) {
                    final LogoutRequest logoutRequest = new LogoutRequest(ticketId, singleLogoutService);
                    // always add the logout request
                    logoutRequests.add(logoutRequest);
                    final RegisteredService registeredService = servicesManager.findServiceBy(service);
                    // the service is no more defined, or the logout type is not defined or is back channel
                    if (registeredService == null || registeredService.getLogoutType() == null
                            || registeredService.getLogoutType() == LogoutType.BACK_CHANNEL) {
                        // perform back channel logout
                        if (performBackChannelLogout(logoutRequest)) {
                            logoutRequest.setStatus(LogoutRequestStatus.SUCCESS);
                        } else {
                            logoutRequest.setStatus(LogoutRequestStatus.FAILURE);
                            LOGGER.warn("Logout message not sent to [{}]; Continuing processing...",
                                    singleLogoutService.getId());
                        }
                    }
                }
            }
        }
    }

    return logoutRequests;
}
 
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:52,代码来源:LogoutManagerImpl.java

示例5: serviceSupportsSingleLogout

import org.jasig.cas.services.RegisteredService; //导入方法依赖的package包/类
/**
 * Service supports back channel single logout?
 * Service must be found in the registry. enabled and logout type must not be {@link LogoutType#NONE}.
 * @param registeredService the registered service
 * @return true, if support is available.
 */
private boolean serviceSupportsSingleLogout(final RegisteredService registeredService) {
    return registeredService != null
            && registeredService.getAccessStrategy().isServiceAccessAllowed()
            && registeredService.getLogoutType() != LogoutType.NONE;
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:12,代码来源:LogoutManagerImpl.java


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