You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ja...@apache.org on 2011/11/22 10:23:39 UTC
svn commit: r1204871 - in
/incubator/rave/sandbox/rave-extensions/rave-extension-sso/src:
main/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandler.java
test/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandlerTest.java
Author: jasha
Date: Tue Nov 22 09:23:39 2011
New Revision: 1204871
URL: http://svn.apache.org/viewvc?rev=1204871&view=rev
Log:
RAVE-357 populate displayname
Modified:
incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/main/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandler.java
incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/test/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandlerTest.java
Modified: incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/main/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandler.java
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/main/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandler.java?rev=1204871&r1=1204870&r2=1204871&view=diff
==============================================================================
--- incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/main/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandler.java (original)
+++ incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/main/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandler.java Tue Nov 22 09:23:39 2011
@@ -47,6 +47,7 @@ public class DefaultSSOLoginHandler impl
private final AuthorityService authorityService;
private String ssoHeaderEmail;
+ private String ssoHeaderDisplayName;
private String defaultPageLayout;
private String defaultUserRole;
@@ -67,9 +68,7 @@ public class DefaultSSOLoginHandler impl
}
final String email = request.getHeader(ssoHeaderEmail);
createNewUser(username, email);
- if (shouldAssignRoleToNewUser()){
- assignAuthorityToUser(username);
- }
+ updateAdditionalUserFields(username, request);
}
private void createNewUser(String username, String email) {
@@ -85,23 +84,33 @@ public class DefaultSSOLoginHandler impl
}
}
- private boolean shouldAssignRoleToNewUser() {
- return getDefaultUserRole() != null && !("".equals(getDefaultUserRole()));
- }
-
- private void assignAuthorityToUser(String username) {
+ private void updateAdditionalUserFields(String username, HttpServletRequest request) {
User user = userService.getUserByUsername(username);
if (user == null) {
throw new UsernameNotFoundException("No user found for username " + username);
}
+
+ user.setDisplayName(request.getHeader(ssoHeaderDisplayName));
+
+ if (shouldAssignRoleToNewUser()){
+ user.setAuthorities(getAuthorities());
+ }
+ userService.updateUserProfile(user);
+ }
+
+ private boolean shouldAssignRoleToNewUser() {
+ return getDefaultUserRole() != null && !("".equals(getDefaultUserRole()));
+ }
+
+ private Collection<Authority> getAuthorities() {
+ Collection<Authority> authorities = new HashSet<Authority>();
+
Authority userRole = getUserRole();
if (userRole == null) {
- return;
+ return authorities;
}
- Collection<Authority> authorities = new HashSet<Authority>();
authorities.add(userRole);
- user.setAuthorities(authorities);
- userService.updateUserProfile(user);
+ return authorities;
}
private Authority getUserRole() {
@@ -127,6 +136,10 @@ public class DefaultSSOLoginHandler impl
this.ssoHeaderEmail = ssoHeaderEmail;
}
+ public void setSsoHeaderDisplayName(String ssoHeaderDisplayName) {
+ this.ssoHeaderDisplayName = ssoHeaderDisplayName;
+ }
+
public String getDefaultPageLayout() {
return defaultPageLayout;
}
Modified: incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/test/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandlerTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/test/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandlerTest.java?rev=1204871&r1=1204870&r2=1204871&view=diff
==============================================================================
--- incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/test/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandlerTest.java (original)
+++ incubator/rave/sandbox/rave-extensions/rave-extension-sso/src/test/java/org/apache/rave/portal/security/impl/DefaultSSOLoginHandlerTest.java Tue Nov 22 09:23:39 2011
@@ -23,7 +23,6 @@ import javax.servlet.http.HttpServletReq
import org.apache.rave.portal.model.Authority;
import org.apache.rave.portal.model.NewUser;
import org.apache.rave.portal.model.User;
-import org.apache.rave.portal.security.impl.DefaultSSOLoginHandler;
import org.apache.rave.portal.service.AuthorityService;
import org.apache.rave.portal.service.NewAccountService;
import org.apache.rave.portal.service.UserService;
@@ -56,6 +55,7 @@ public class DefaultSSOLoginHandlerTest
authorityService = createMock(AuthorityService.class);
loginHandler = new DefaultSSOLoginHandler(newAccountService, userService, authorityService);
loginHandler.setSsoHeaderEmail("EMAIL");
+ loginHandler.setSsoHeaderDisplayName("Mr Smith");
loginHandler.setAutoCreateUser(true);
loginHandler.setDefaultUserRole("ROLE_USER");
loginHandler.setDefaultPageLayout("columns_2");