Java Code Examples for org.pac4j.core.profile.ProfileManager#get()
The following examples show how to use
org.pac4j.core.profile.ProfileManager#get() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: IndexController.java From springboot-shiro-cas-mybatis with MIT License | 6 votes |
/** * app rest 登录获取token * eg:http://localhost:8081/user/login?cilent_name=rest&username=hsjhsj&password=hsjhsj * 然后获取资源:http://localhost:8081/user/1?token=eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..7usGh1GK3jl5_wPH.QJdYqNp81zRyAs6OHmN4573l67z_UgxQ7WXJ7OUsDw50Dato2X9Tyh5kXBAJF5l9LmmKe8y-kHrhyx9gcEIa6PC97mo5fPbCw9WoOypyTqdWkE1Q9mM44Zn8CZZVH9PTml7_0jwln0W_bzDWjN3f-0Pk2etxU6lXwz5insFVz4nGt5SEmykhvOdKlscLsYbHGQVqze4nlXuAtVXQ08CuphRsZ2FmSaK-LFR8Ivs.DkqbT-PgEjE0ZS6pgNVqGA * @Description:TODO * @author:hsj qq:2356899074 * @time:2017年12月11日 下午2:36:30 * @param request * @param response * @return */ @RequestMapping("/user/login") public Object login(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> model = new HashMap<>(); J2EContext context = new J2EContext(request, response); final ProfileManager<CasRestProfile> manager = new ProfileManager(context); final Optional<CasRestProfile> profile = manager.get(true); //获取ticket TokenCredentials tokenCredentials = casRestFormClient.requestServiceTicket(serviceUrl, profile.get(), context); //根据ticket获取用户信息 final CasProfile casProfile = casRestFormClient.validateServiceTicket(serviceUrl, tokenCredentials, context); //生成jwt token String token = generator.generate(casProfile); model.put("token", token); return new HttpEntity<>(model); }
Example 2
Source File: SecurityContext.java From NNAnalytics with Apache License 2.0 | 5 votes |
/** * Perform logout of authenticated web session. * * @param request - The HTTP request. * @param response - The HTTP response. */ public void logout(HttpServletRequest request, HttpServletResponse response) throws IOException { boolean authenticationEnabled = isAuthenticationEnabled(); ProfileManager<CommonProfile> manager = new ProfileManager<>(new J2EContext(request, response)); Optional<CommonProfile> profile = manager.get(false); if (authenticationEnabled && profile.isPresent()) { manager.logout(); HttpSession session = request.getSession(); if (session != null) { session.invalidate(); } Cookie cookie = new Cookie("nna-jwt-token", ""); cookie.setMaxAge(0); response.addCookie(cookie); response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate"); response.addHeader("Pragma", "no-cache"); response.addHeader("Expires", "0"); response.setStatus(HttpStatus.SC_OK); try (Writer writer = response.getWriter()) { writer.write("You have been logged out."); } } else { response.setStatus(HttpStatus.SC_BAD_REQUEST); try (Writer writer = response.getWriter()) { writer.write("No login session."); } } }
Example 3
Source File: IndexController.java From wolf with MIT License | 5 votes |
@RequestMapping("/user/login") public Object login(HttpServletRequest request, HttpServletResponse response) { Map<String, Object> model = new HashMap<>(); J2EContext context = new J2EContext(request, response); final ProfileManager<CasRestProfile> manager = new ProfileManager(context); final Optional<CasRestProfile> profile = manager.get(true); //获取ticket TokenCredentials tokenCredentials = casRestFormClient.requestServiceTicket(serviceUrl, profile.get(), context); //根据ticket获取用户信息 final CasProfile casProfile = casRestFormClient.validateServiceTicket(serviceUrl, tokenCredentials, context); //生成jwt token String token = generator.generate(casProfile); model.put("token", token); return new HttpEntity<>(model); }
Example 4
Source File: Pac4jIdentityAdapter.java From knox with Apache License 2.0 | 5 votes |
@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException { final HttpServletRequest request = (HttpServletRequest) servletRequest; final HttpServletResponse response = (HttpServletResponse) servletResponse; final J2EContext context = new J2EContext(request, response, ((Config)request.getAttribute(PAC4J_CONFIG)).getSessionStore()); final ProfileManager<CommonProfile> manager = new ProfileManager<>(context); final Optional<CommonProfile> optional = manager.get(true); if (optional.isPresent()) { CommonProfile profile = optional.get(); logger.debug("User authenticated as: {}", profile); manager.remove(true); String id = null; if (idAttribute != null) { Object attribute = profile.getAttribute(idAttribute); if (attribute != null) { id = attribute.toString(); } if (id == null) { logger.error("Invalid attribute_id: {} configured to be used as principal" + " falling back to default id", idAttribute); } } if (id == null) { id = profile.getId(); } testIdentifier = id; PrimaryPrincipal pp = new PrimaryPrincipal(id); Subject subject = new Subject(); subject.getPrincipals().add(pp); auditService.getContext().setUsername(id); String sourceUri = (String)request.getAttribute( AbstractGatewayFilter.SOURCE_REQUEST_CONTEXT_URL_ATTRIBUTE_NAME ); auditor.audit(Action.AUTHENTICATION, sourceUri, ResourceType.URI, ActionOutcome.SUCCESS); doAs(request, response, chain, subject); } }