From: Mathieu Baudier Date: Thu, 19 Nov 2009 18:18:38 +0000 (+0000) Subject: Use anonymous user X-Git-Tag: argeo-commons-2.1.30~1713 X-Git-Url: http://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=51cdd7c0883f0ccd756f0f5d0dc2ac97b327d25d Use anonymous user git-svn-id: https://svn.argeo.org/commons/trunk@3117 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/security/modules/org.argeo.security.webapp/WEB-INF/security.xml b/security/modules/org.argeo.security.webapp/WEB-INF/security.xml index 3ae36186f..b423327ff 100644 --- a/security/modules/org.argeo.security.webapp/WEB-INF/security.xml +++ b/security/modules/org.argeo.security.webapp/WEB-INF/security.xml @@ -8,22 +8,27 @@ - + - - + + + - - + + diff --git a/security/modules/org.argeo.security.webapp/WEB-INF/web.xml b/security/modules/org.argeo.security.webapp/WEB-INF/web.xml index 1ea484fc8..668da7899 100644 --- a/security/modules/org.argeo.security.webapp/WEB-INF/web.xml +++ b/security/modules/org.argeo.security.webapp/WEB-INF/web.xml @@ -19,6 +19,10 @@ security *.security + + security + *.ria + 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 index a05dd1245..6793f3c1f 100644 --- 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 @@ -80,6 +80,9 @@ public class ArgeoUserDetails extends User implements ArgeoUser { } public static ArgeoUser asArgeoUser(Authentication authentication) { + if (authentication == null) + return null; + if (authentication.getPrincipal() instanceof ArgeoUser) { return new SimpleArgeoUser((ArgeoUser) authentication .getPrincipal()); diff --git a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/ArgeoSecurityDaoLdap.java b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/ArgeoSecurityDaoLdap.java index c5cda2ed4..2fa2ce8b9 100644 --- a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/ArgeoSecurityDaoLdap.java +++ b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/ldap/ArgeoSecurityDaoLdap.java @@ -105,6 +105,8 @@ public class ArgeoSecurityDaoLdap implements ArgeoSecurityDao, InitializingBean Authentication authentication = SecurityContextHolder.getContext() .getAuthentication(); ArgeoUser argeoUser = ArgeoUserDetails.asArgeoUser(authentication); + if (argeoUser == null) + return null; if (argeoUser.getRoles().contains(defaultRole)) argeoUser.getRoles().remove(defaultRole); return argeoUser; diff --git a/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java b/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java index 8f096937f..31d2d0581 100644 --- a/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java +++ b/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java @@ -5,6 +5,7 @@ import java.util.List; import org.argeo.security.ArgeoSecurityService; import org.argeo.security.ArgeoUser; +import org.argeo.security.SimpleArgeoUser; import org.argeo.server.BooleanAnswer; import org.argeo.server.ServerAnswer; import org.argeo.server.ServerDeserializer; @@ -26,25 +27,29 @@ public class UsersRolesController implements MvcConstants { /* USER */ - @RequestMapping("/getCredentials.security") + @RequestMapping("/getCredentials.ria") @ModelAttribute(ANSWER_MODEL_KEY) public ArgeoUser getCredentials() { - return securityService.getSecurityDao().getCurrentUser(); + ArgeoUser argeoUser = securityService.getSecurityDao().getCurrentUser(); + if (argeoUser == null) + return new SimpleArgeoUser(); + else + return argeoUser; } -// @RequestMapping("/login.security") -// @ModelAttribute(ANSWER_MODEL_KEY) -// public ArgeoUser login(@RequestParam("username") String username, -// @RequestParam("password") String password) { -// //SecurityContextHolder.getContext().getAuthentication(). -// return securityService.getSecurityDao().getCurrentUser(); -// } -// -// @RequestMapping("/logout.security") -// @ModelAttribute(ANSWER_MODEL_KEY) -// public ServerAnswer logout() { -// return ServerAnswer.ok("Logged out"); -// } + // @RequestMapping("/login.security") + // @ModelAttribute(ANSWER_MODEL_KEY) + // public ArgeoUser login(@RequestParam("username") String username, + // @RequestParam("password") String password) { + // //SecurityContextHolder.getContext().getAuthentication(). + // return securityService.getSecurityDao().getCurrentUser(); + // } + // + // @RequestMapping("/logout.security") + // @ModelAttribute(ANSWER_MODEL_KEY) + // public ServerAnswer logout() { + // return ServerAnswer.ok("Logged out"); + // } @RequestMapping("/getUsersList.security") @ModelAttribute(ANSWER_MODEL_KEY)