From: <fg...@us...> - 2007-02-13 17:33:10
|
Revision: 250 http://svn.sourceforge.net/openutils/?rev=250&view=rev Author: fgiust Date: 2007-02-13 09:31:26 -0800 (Tue, 13 Feb 2007) Log Message: ----------- new SecurityUtils class Added Paths: ----------- trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/utils/ trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/utils/SecurityUtils.java Added: trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/utils/SecurityUtils.java =================================================================== --- trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/utils/SecurityUtils.java (rev 0) +++ trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/utils/SecurityUtils.java 2007-02-13 17:31:26 UTC (rev 250) @@ -0,0 +1,59 @@ +package it.openutils.usermanagement.utils; + +import it.openutils.usermanagement.dataobjects.User; + +import org.acegisecurity.Authentication; +import org.acegisecurity.GrantedAuthority; +import org.acegisecurity.context.SecurityContextHolder; + + +/** + * @author fgiust + * @version $Id$ + */ +public class SecurityUtils +{ + + /** + * Return current user logged. + * @return Utente + */ + public static User getCurrentUser() + { + User currentUser = null; + if (SecurityContextHolder.getContext().getAuthentication() != null) + { + Authentication auth = SecurityContextHolder.getContext().getAuthentication(); + if (auth != null && auth.getPrincipal() instanceof User) + { + currentUser = (User) auth.getPrincipal(); + } + } + + return currentUser; + } + + /** + * Check if the current user is in the given role. + * @param role role to check + * @return <code>true</code> if current user is assigned to the given role + */ + public static Boolean isUserInRole(String role) + { + if (role == null || SecurityContextHolder.getContext().getAuthentication() == null) + { + return false; + } + GrantedAuthority[] roles = SecurityContextHolder.getContext().getAuthentication().getAuthorities(); + + for (GrantedAuthority grantedAuthority : roles) + { + if (role.equals(grantedAuthority.getAuthority())) + { + return true; + } + } + + return false; + } +} Property changes on: trunk/openutils-usermanagement/src/main/java/it/openutils/usermanagement/utils/SecurityUtils.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |