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


Java CasAuthenticationToken类代码示例

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


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

示例1: doGet

import org.springframework.security.cas.authentication.CasAuthenticationToken; //导入依赖的package包/类
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // NOTE: The CasAuthenticationToken can also be obtained using SecurityContextHolder.getContext().getAuthentication()
    final CasAuthenticationToken token = (CasAuthenticationToken) request.getUserPrincipal();
    // proxyTicket could be reused to make calls to to the CAS service even if the target url differs
    final String proxyTicket = token.getAssertion().getPrincipal().getProxyTicketFor(targetUrl);

    // Make a remote call to ourself. This is a bit silly, but it works well to demonstrate how to use proxy tickets.
    final String serviceUrl = targetUrl+"?ticket="+URLEncoder.encode(proxyTicket, "UTF-8");
    String proxyResponse = CommonUtils.getResponseFromServer(serviceUrl, "UTF-8");

    // modify the response and write it out to inform the user that it was obtained using a proxy ticket.
    proxyResponse = proxyResponse.replaceFirst("Secure Page", "Secure Page using a Proxy Ticket");
    proxyResponse = proxyResponse.replaceFirst("<p>",
            "<p>This page is rendered by "+getClass().getSimpleName()+" by making a remote call to the Secure Page using a proxy ticket ("+proxyTicket+") and inserts this message. ");
    final PrintWriter writer = response.getWriter();
    writer.write(proxyResponse);
}
 
开发者ID:lanen,项目名称:mint4j,代码行数:20,代码来源:ProxyTicketSampleServlet.java

示例2: getProxyGrantingTicket

import org.springframework.security.cas.authentication.CasAuthenticationToken; //导入依赖的package包/类
/**
 * Hacky code please do not use that in production
 */
private Optional<String> getProxyGrantingTicket(Authentication authentication) {
    if (!(authentication instanceof CasAuthenticationToken)) {
        return Optional.empty();
    }
    AttributePrincipal principal = ((CasAuthenticationToken) authentication).getAssertion().getPrincipal();
    if (!(principal instanceof AttributePrincipalImpl)) {
        return Optional.empty();
    }
    Field field = ReflectionUtils.findField(AttributePrincipalImpl.class, "proxyGrantingTicket");
    ReflectionUtils.makeAccessible(field);
    return Optional.ofNullable(ReflectionUtils.getField(field, principal)).map(Object::toString);
}
 
开发者ID:kakawait,项目名称:cas-security-spring-boot-starter,代码行数:16,代码来源:CasSecuritySpringBootSampleApplication.java

示例3: echo

import org.springframework.security.cas.authentication.CasAuthenticationToken; //导入依赖的package包/类
@ResponseBody
@RequestMapping("/echo")
public String echo() throws UnsupportedEncodingException {
    final CasAuthenticationToken token = (CasAuthenticationToken) SecurityContextHolder
            .getContext()
            .getAuthentication();
    // The proxyTicket could be cached in session and reused if we wanted to
    final String proxyTicket = token.getAssertion().getPrincipal().getProxyTicketFor(targetUrl);

    // Make a remote call using the proxy ticket
    return restClient.getForObject(targetUrl+"?ticket={pt}", String.class, proxyTicket);
}
 
开发者ID:PacktPublishing,项目名称:Spring-Security-Third-Edition,代码行数:13,代码来源:EchoController.java

示例4: echo

import org.springframework.security.cas.authentication.CasAuthenticationToken; //导入依赖的package包/类
@ResponseBody
@RequestMapping("/echo")
public String echo() throws UnsupportedEncodingException {
    final CasAuthenticationToken token = (CasAuthenticationToken) SecurityContextHolder.getContext().getAuthentication();
    // The proxyTicket could be cached in session and reused if we wanted to
    final String proxyTicket = token.getAssertion().getPrincipal().getProxyTicketFor(targetUrl);

    // Make a remote call using the proxy ticket
    return restClient.getForObject(targetUrl+"?ticket={pt}", String.class, proxyTicket);
}
 
开发者ID:v5developer,项目名称:maven-framework-project,代码行数:11,代码来源:EchoController.java

示例5: doLogout

import org.springframework.security.cas.authentication.CasAuthenticationToken; //导入依赖的package包/类
@RequestMapping(value = { "/auth/logout", "/logout" }, method = { RequestMethod.POST, RequestMethod.GET })
public View doLogout(final HttpServletRequest request) {
	final Authentication auth = SecurityContextHolder.getContext().getAuthentication();
	userService.removeUserFromMaps(userService.getCurrentUser());
	request.getSession().invalidate();
	SecurityContextHolder.clearContext();
	if (auth instanceof CasAuthenticationToken) {
		return new RedirectView(apiPath + "/j_spring_cas_security_logout");
	}
	return new RedirectView(request.getHeader("referer") != null ? request.getHeader("referer") : "/");
}
 
开发者ID:thm-projects,项目名称:arsnova-backend,代码行数:12,代码来源:LoginController.java

示例6: getUrlLogoutSuccessHandlerByAuthentication

import org.springframework.security.cas.authentication.CasAuthenticationToken; //导入依赖的package包/类
/***
 * If CAS authentication, we'll use the CAS Success Logout URL.
 * Else we'll use the default logout URL
 * 
 * @param authentication
 * @return
 */
private SimpleUrlLogoutSuccessHandler getUrlLogoutSuccessHandlerByAuthentication(final Authentication authentication){
	return (authentication instanceof CasAuthenticationToken) ? casLogoutHandler : defaultLogoutHandler;
}
 
开发者ID:ozoneplatform,项目名称:owf-security,代码行数:11,代码来源:OzoneLogoutSuccessHandler.java


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