本文整理汇总了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);
}
示例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);
}
示例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);
}
示例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") : "/");
}
示例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;
}