X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=security%2Fruntime%2Forg.argeo.security.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fcore%2FArgeoUserDetails.java;fp=security%2Fruntime%2Forg.argeo.security.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fcore%2FArgeoUserDetails.java;h=0000000000000000000000000000000000000000;hb=fb4f7c451ea7d9025f7cf7fe032020f229df794a;hp=eac1d3706a13d2472bc4010562eb7e12713b89f5;hpb=5266ec50ddbf3247a5033d98a1dbceec6673a5b8;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/ArgeoUserDetails.java b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/ArgeoUserDetails.java deleted file mode 100644 index eac1d3706..000000000 --- a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/ArgeoUserDetails.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (C) 2010 Mathieu Baudier - * - * 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 org.argeo.security.core; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.security.ArgeoUser; -import org.argeo.security.SimpleArgeoUser; -import org.argeo.security.UserNature; -import org.springframework.security.Authentication; -import org.springframework.security.GrantedAuthority; -import org.springframework.security.GrantedAuthorityImpl; -import org.springframework.security.context.SecurityContextHolder; -import org.springframework.security.userdetails.User; -import org.springframework.security.userdetails.UserDetails; - -@Deprecated -public class ArgeoUserDetails extends User implements ArgeoUser { - private static final long serialVersionUID = 1L; - private final static Log log = LogFactory.getLog(ArgeoUserDetails.class); - - private final Map userNatures; - private final List roles; - - public ArgeoUserDetails(String username, - Map userNatures, String password, - GrantedAuthority[] authorities) throws IllegalArgumentException { - super(username, password, true, true, true, true, authorities); - this.userNatures = Collections.unmodifiableMap(userNatures); - - // Roles - this.roles = Collections.unmodifiableList(addAuthoritiesToRoles( - getAuthorities(), new ArrayList())); - } - - public ArgeoUserDetails(ArgeoUser argeoUser) { - this(argeoUser.getUsername(), argeoUser.getUserNatures(), argeoUser - .getPassword(), rolesToAuthorities(argeoUser.getRoles())); - } - - public Map getUserNatures() { - return userNatures; - } - - public void updateUserNatures(Map userNaturesData) { - SimpleArgeoUser - .updateUserNaturesWithCheck(userNatures, userNaturesData); - } - - public List getRoles() { - return roles; - } - - /** The provided list, for chaining using {@link Collections} */ - public static List addAuthoritiesToRoles( - GrantedAuthority[] authorities, List roles) { - for (GrantedAuthority authority : authorities) { - roles.add(authority.getAuthority()); - } - return roles; - } - - public static GrantedAuthority[] rolesToAuthorities(List roles) { - GrantedAuthority[] arr = new GrantedAuthority[roles.size()]; - for (int i = 0; i < roles.size(); i++) { - String role = roles.get(i); - if (log.isTraceEnabled()) - log.debug("Convert role " + role + " to authority (i=" + i - + ")"); - arr[i] = new GrantedAuthorityImpl(role); - } - return arr; - } - - public static SimpleArgeoUser createSimpleArgeoUser(UserDetails userDetails) { - if (userDetails instanceof ArgeoUser) { - return new SimpleArgeoUser((ArgeoUser) userDetails); - } else { - SimpleArgeoUser argeoUser = new SimpleArgeoUser(); - argeoUser.setUsername(userDetails.getUsername()); - addAuthoritiesToRoles(userDetails.getAuthorities(), - argeoUser.getRoles()); - return argeoUser; - } - } - - /** Creates an argeo user based on spring authentication */ - public static ArgeoUser asArgeoUser(Authentication authentication) { - if (authentication == null) - return null; - - if (authentication.getPrincipal() instanceof ArgeoUser) { - return new SimpleArgeoUser( - (ArgeoUser) authentication.getPrincipal()); - } else { - SimpleArgeoUser argeoUser = new SimpleArgeoUser(); - argeoUser.setUsername(authentication.getName()); - addAuthoritiesToRoles(authentication.getAuthorities(), - argeoUser.getRoles()); - return argeoUser; - } - } - - /** The Spring security context as an argeo user */ - public static ArgeoUser securityContextUser() { - Authentication authentication = SecurityContextHolder.getContext() - .getAuthentication(); - ArgeoUser argeoUser = ArgeoUserDetails.asArgeoUser(authentication); - return argeoUser; - } -}