• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Ticket类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



Ticket类属于org.jasig.cas.ticket包,在下文中一共展示了Ticket类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: deleteSingleTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
/**
 * {@inheritDoc}
 * Either the element is removed from the cache
 * or it's not found in the cache and is already removed.
 * Thus the result of this op would always be true.
 */
@Override
public boolean deleteSingleTicket(final String ticketId) {
    final Ticket ticket = getTicket(ticketId);
    
    if (ticket == null) {
        logger.debug("Ticket {} cannot be retrieved from the cache", ticketId);
        return true;
    }

    if (this.ticketGrantingTicketsCache.remove(ticket.getId())) {
        logger.debug("Ticket {} is removed", ticket.getId());
    }
    if (this.serviceTicketsCache.remove(ticket.getId())) {
        logger.debug("Ticket {} is removed", ticket.getId());
    }
    return true;
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:24,代码来源:EhCacheTicketRegistry.java


示例2: doExecute

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
/**
 * Determines whether the TGT in the flow request context is valid.
 *
 * @param requestContext Flow request context.
 *
 * @throws Exception in case ticket cannot be retrieved from the service layer
 * @return {@link #NOT_EXISTS}, {@link #INVALID}, or {@link #VALID}.
 */
@Override
protected Event doExecute(final RequestContext requestContext) throws Exception {
    final String tgtId = WebUtils.getTicketGrantingTicketId(requestContext);
    if (!StringUtils.hasText(tgtId)) {
        return new Event(this, NOT_EXISTS);
    }

    String eventId = INVALID;
    try {
        final Ticket ticket = this.centralAuthenticationService.getTicket(tgtId, Ticket.class);
        if (ticket != null && !ticket.isExpired()) {
            eventId = VALID;
        }
    } catch (final AbstractTicketException e) {
        logger.trace("Could not retrieve ticket id {} from registry.", e);
    }
    return new Event(this,  eventId);
}
 
开发者ID:yuweijun,项目名称:cas-server-4.2.1,代码行数:27,代码来源:TicketGrantingTicketCheckAction.java


示例3: getTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
/**
 * {@inheritDoc}
 *
 * Note:
 * Synchronization on ticket object in case of cache based registry doesn't serialize
 * access to critical section. The reason is that cache pulls serialized data and
 * builds new object, most likely for each pull. Is this synchronization needed here?
 */
@Timed(name = "GET_TICKET_TIMER")
@Metered(name = "GET_TICKET_METER")
@Counted(name="GET_TICKET_COUNTER", monotonic=true)
@Override
public <T extends Ticket> T getTicket(final String ticketId, final Class<? extends Ticket> clazz)
        throws InvalidTicketException {
    Assert.notNull(ticketId, "ticketId cannot be null");
    final Ticket ticket = this.ticketRegistry.getTicket(ticketId, clazz);

    if (ticket == null) {
        logger.debug("Ticket [{}] by type [{}] cannot be found in the ticket registry.", ticketId, clazz.getSimpleName());
        throw new InvalidTicketException(ticketId);
    }

    if (ticket instanceof TicketGrantingTicket) {
        synchronized (ticket) {
            if (ticket.isExpired()) {
                this.ticketRegistry.deleteTicket(ticketId);
                logger.debug("Ticket [{}] has expired and is now deleted from the ticket registry.", ticketId);
                throw new InvalidTicketException(ticketId);
            }
        }
    }
    return (T) ticket;
}
 
开发者ID:yuweijun,项目名称:cas-server-4.2.1,代码行数:34,代码来源:AbstractCentralAuthenticationService.java


示例4: resolveFromInternal

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
protected String resolveFromInternal(final JoinPoint joinPoint) {
    final Object arg1 = joinPoint.getArgs()[0];
    if (arg1 instanceof Credential) {
       return arg1.toString();
    } else if (arg1 instanceof String) {
        final Ticket ticket = this.ticketRegistry.getTicket((String) arg1);
        if (ticket instanceof ServiceTicket) {
            final ServiceTicket serviceTicket = (ServiceTicket) ticket;
            return serviceTicket.getGrantingTicket().getAuthentication().getPrincipal().getId();
        } else if (ticket instanceof TicketGrantingTicket) {
            final TicketGrantingTicket tgt = (TicketGrantingTicket) ticket;
            return tgt.getAuthentication().getPrincipal().getId();
        }
    } else {
        final SecurityContext securityContext = SecurityContextHolder.getContext();
        if (securityContext != null) {
            final Authentication authentication = securityContext.getAuthentication();

            if (authentication != null) {
                return ((UserDetails) authentication.getPrincipal()).getUsername();
            }
        }
    }
    return UNKNOWN_USER;
}
 
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:26,代码来源:TicketOrCredentialPrincipalResolver.java


示例5: decodeTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
/**
 * Decode ticket.
 *
 * @param result the result
 * @return the ticket
 */
protected Ticket decodeTicket(final Ticket result) {
    if (this.cipherExecutor == null) {
        logger.trace("Ticket encryption is not enabled. Falling back to default behavior");
        return result;
    }

    if (result == null) {
        return result;
    }

    logger.info("Attempting to decode {}", result);
    final EncodedTicket encodedTicket = (EncodedTicket) result;

    final Ticket ticket = CompressionUtils.decodeAndSerializeObject(
            encodedTicket.getEncoded(), this.cipherExecutor, Ticket.class);
    logger.info("Decoded {}",  ticket);
    return ticket;
}
 
开发者ID:yuweijun,项目名称:cas-server-4.2.1,代码行数:25,代码来源:AbstractCrypticTicketRegistry.java


示例6: deleteTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Transactional(readOnly = false)
public boolean deleteTicket(final String ticketId) {
    final Ticket ticket = getRawTicket(ticketId);

    if (ticket == null) {
        return false;
    }

    if (ticket instanceof ServiceTicket) {
        removeTicket(ticket);
        logger.debug("Deleted ticket [{}] from the registry.", ticket);
        return true;
    }

    deleteTicketAndChildren(ticket);
    logger.debug("Deleted ticket [{}] and its children from the registry.", ticket);
    return true;
}
 
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:19,代码来源:JpaTicketRegistry.java


示例7: getTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Override
public Ticket getTicket(final String ticketId) {
    try {
        final SerializableDocument document = couchbase.bucket().get(ticketId, SerializableDocument.class);
        if (document != null) {
            final Ticket t = (Ticket) document.content();
            logger.debug("Got ticket {} from registry.", t);
            return getProxiedTicketInstance(t);
        }
        logger.debug("Ticket {} not found in registry.", ticketId);
        return null;
    } catch (final Exception e) {
        logger.error("Failed fetching {}: {}", ticketId, e);
        return null;
    }
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:17,代码来源:CouchbaseTicketRegistry.java


示例8: deleteTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Override
public boolean deleteTicket(final String ticketId) {
    final Ticket ticket = getRawTicket(ticketId);

    if (ticket == null) {
        return false;
    }

    if (ticket instanceof ServiceTicket) {
        removeTicket(ticket);
        logger.debug("Deleted ticket [{}] from the registry.", ticket);
        return true;
    }

    deleteTicketAndChildren(ticket);
    logger.debug("Deleted ticket [{}] and its children from the registry.", ticket);
    return true;
}
 
开发者ID:yuweijun,项目名称:cas-server-4.2.1,代码行数:19,代码来源:JpaTicketRegistry.java


示例9: getTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Override
public Ticket getTicket(final String ticketIdToGet) {
    final String ticketId = encodeTicketId(ticketIdToGet);
    if (ticketId == null) {
        return null;
    }

    Ticket ticket = this.serviceTicketsCache.get(ticketId);
    if (ticket == null) {
        ticket = this.ticketGrantingTicketsCache.get(ticketId);
    }
    if (ticket == null) {
        logger.debug("No ticket by id [{}] is found in the registry", ticketId);
        return null;
    }

    final Ticket proxiedTicket = decodeTicket(ticket);
    ticket = getProxiedTicketInstance(proxiedTicket);
    return ticket;
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:21,代码来源:IgniteTicketRegistry.java


示例10: getSsoSessions

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
/**
 * Gets sso sessions.
 *
 * @return the sso sessions
 */
private Collection<Map<String, Object>> getSsoSessions() {
    final List<Map<String, Object>> activeSessions = new ArrayList<Map<String, Object>>();

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

        final Map<String, Object> sso = new HashMap<>(SsoSessionAttributeKeys.values().length);
        sso.put(SsoSessionAttributeKeys.AUTHENTICATED_PRINCIPAL.toString(), tgt.getAuthentication().getPrincipal().getId());
        sso.put(SsoSessionAttributeKeys.AUTHENTICATION_DATE.toString(), tgt.getAuthentication().getAuthenticationDate());
        sso.put(SsoSessionAttributeKeys.NUMBER_OF_USES.toString(), tgt.getCountOfUses());
        if (this.includeTicketGrantingTicketId) {
            sso.put(SsoSessionAttributeKeys.TICKET_GRANTING_TICKET.toString(), tgt.getId());
        }

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


示例11: getTicketInTransaction

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
Ticket getTicketInTransaction(final String ticketId) {
    return new TransactionTemplate(txManager).execute(new TransactionCallback<Ticket>() {
        @Override
        public Ticket doInTransaction(final TransactionStatus status) {
            return jpaTicketRegistry.getTicket(ticketId);
        }
    });
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:9,代码来源:JpaTicketRegistryTests.java


示例12: getTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
/**
 * {@inheritDoc}
 * @throws IllegalArgumentException if class is null.
 * @throws ClassCastException if class does not match requested ticket
 * class.
 * @return specified ticket from the registry
 */
@Override
public final <T extends Ticket> T getTicket(final String ticketId, final Class<? extends Ticket> clazz) {
    Assert.notNull(clazz, "clazz cannot be null");

    final Ticket ticket = this.getTicket(ticketId);

    if (ticket == null) {
        return null;
    }

    if (!clazz.isAssignableFrom(ticket.getClass())) {
        throw new ClassCastException("Ticket [" + ticket.getId()
            + " is of type " + ticket.getClass()
            + " when we were expecting " + clazz);
    }

    return (T) ticket;
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:26,代码来源:AbstractTicketRegistry.java


示例13: getTimeout

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
/**
 * Gets the timeout value for the ticket.
 *
 * @param t the t
 * @return the timeout
 */
private int getTimeout(final Ticket t) {
    if (t instanceof TicketGrantingTicket) {
        return this.tgtTimeout;
    } else if (t instanceof ServiceTicket) {
        return this.stTimeout;
    }
    throw new IllegalArgumentException("Invalid ticket type");
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:15,代码来源:MemCacheTicketRegistry.java


示例14: serviceTicketCount

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Override
public int serviceTicketCount() {
    int count = 0;
    for (final Ticket t : this.cache.values()) {
        if (t instanceof ServiceTicket) {
            count++;
        }
    }
    return count;
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:11,代码来源:DefaultTicketRegistry.java


示例15: getTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Override
public Ticket getTicket(final String ticketId) {
    if (ticketId == null) {
        return null;
    }

    logger.debug("Attempting to retrieve ticket [{}]", ticketId);
    final Ticket ticket = this.cache.get(ticketId);

    if (ticket != null) {
        logger.debug("Ticket [{}] found in registry.", ticketId);
    }

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


示例16: deleteTicket

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Override
public boolean deleteTicket(final String ticketIdToDel) {
    if (this.client == null) {
        logger.debug("No memcached client is configured.");
        return false;
    }

    final String ticketId = encodeTicketId(ticketIdToDel);
    if (ticketId == null) {
        return false;
    }

    final Ticket ticket = getTicket(ticketId);
    if (ticket == null) {
        return false;
    }

    if (ticket instanceof TicketGrantingTicket) {
        logger.debug("Removing ticket children [{}] from the registry.", ticket);
        deleteChildren((TicketGrantingTicket) ticket);
    }

    logger.debug("Deleting ticket {}", ticketId);
    try {
        return this.client.delete(ticketId).get();
    } catch (final Exception e) {
        logger.error("Ticket not found or is already removed. Failed deleting {}", ticketId, e);
    }
    return false;
}
 
开发者ID:yuweijun,项目名称:cas-server-4.2.1,代码行数:31,代码来源:MemCacheTicketRegistry.java


示例17: sessionCount

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
public int sessionCount() {
    int count = 0;
    for (Ticket t : this.cache.values()) {
        if (t instanceof TicketGrantingTicket) {
            count++;
        }
    }
    return count;
}
 
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:10,代码来源:DefaultTicketRegistry.java


示例18: deleteTicketRemovesFromCacheReturnsTrue

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Test
public void deleteTicketRemovesFromCacheReturnsTrue() {
    final Ticket ticket = getTicket();
    infinispanTicketRegistry.addTicket(ticket);
    assertTrue(infinispanTicketRegistry.deleteTicket(ticket.getId()) == 1);
    assertNull(infinispanTicketRegistry.getTicket(ticket.getId()));
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:8,代码来源:InfinispanTicketRegistryTests.java


示例19: verifyGetTicketsFromRegistryEqualToTicketsAdded

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Test
public void verifyGetTicketsFromRegistryEqualToTicketsAdded() {
    final Collection<Ticket> tickets = new ArrayList<>();

    for (int i = 0; i < TICKETS_IN_REGISTRY; i++) {
        final TicketGrantingTicket ticketGrantingTicket = new TicketGrantingTicketImpl("TEST" + i,
                TestUtils.getAuthentication(), new NeverExpiresExpirationPolicy());
        final ServiceTicket st = ticketGrantingTicket.grantServiceTicket("tests" + i,
                org.jasig.cas.services.TestUtils.getService(),
                new NeverExpiresExpirationPolicy(), false, true);
        tickets.add(ticketGrantingTicket);
        tickets.add(st);
        this.ticketRegistry.addTicket(ticketGrantingTicket);
        this.ticketRegistry.addTicket(st);
    }

    try {
        final Collection<Ticket> ticketRegistryTickets = this.ticketRegistry.getTickets();
        assertEquals("The size of the registry is not the same as the collection.", ticketRegistryTickets.size(),
                tickets.size());

        for (final Ticket ticket : tickets) {
            if (!ticketRegistryTickets.contains(ticket)) {
                fail("Ticket was added to registry but was not found in retrieval of collection of all tickets.");
            }
        }
    } catch (final Exception e) {
        logger.error(e.getMessage(), e);
        fail("Caught an exception. But no exception should have been thrown.");
    }
}
 
开发者ID:yuweijun,项目名称:cas-server-4.2.1,代码行数:32,代码来源:EhCacheTicketRegistryTests.java


示例20: getTickets

import org.jasig.cas.ticket.Ticket; //导入依赖的package包/类
@Override
public Collection<Ticket> getTickets() {
    try {
        final Node<String, Ticket> node = this.cache.getNode(FQN_TICKET);

        if (node == null) {
            return Collections.emptyList();
        }

        final Set<String> keys = node.getKeys();
        final List<Ticket> list = new ArrayList<Ticket>();

        for (final String key : keys) {

            /**  Returns null if the node contains no mapping for this key. **/
            final Ticket ticket = node.get(key);

            if (ticket != null) {
                list.add(node.get(key));
            }
        }

        return list;
    } catch (final CacheException e) {
        return Collections.emptyList();
    }
}
 
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:28,代码来源:JBossCacheTicketRegistry.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java XDoWhileExpression类代码示例发布时间:2022-05-22
下一篇:
Java Word2Vec类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap