Java tutorial
/* * Copyright 2015 Viliam Repan (lazyman) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package sk.lazyman.gizmo.security; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; /** * @author lazyman */ public class SecurityUtils { private static final Logger LOGGER = LoggerFactory.getLogger(SecurityUtils.class); public static GizmoPrincipal getPrincipalUser() { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); return getPrincipalUser(authentication); } public static GizmoPrincipal getPrincipalUser(Authentication authentication) { if (authentication == null) { LOGGER.debug("Authentication not available in security current context holder."); return null; } Object principal = authentication.getPrincipal(); if (!(principal instanceof GizmoPrincipal)) { LOGGER.debug("Principal user in security context holder is {} but not type of {}", new Object[] { principal, GizmoPrincipal.class.getName() }); return null; } return (GizmoPrincipal) principal; } }