You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(57) |
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
(86) |
Mar
(385) |
Apr
(198) |
May
(359) |
Jun
(199) |
Jul
(202) |
Aug
(667) |
Sep
(519) |
Oct
(128) |
Nov
(96) |
Dec
(65) |
2008 |
Jan
(145) |
Feb
(539) |
Mar
(1042) |
Apr
(48) |
May
(26) |
Jun
(11) |
Jul
(36) |
Aug
(9) |
Sep
(25) |
Oct
(46) |
Nov
(23) |
Dec
(19) |
2009 |
Jan
(6) |
Feb
|
Mar
(4) |
Apr
(1) |
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <id...@us...> - 2008-10-05 08:45:39
|
Revision: 4813 http://openuss.svn.sourceforge.net/openuss/?rev=4813&view=rev Author: idueppe Date: 2008-10-05 08:42:59 +0000 (Sun, 05 Oct 2008) Log Message: ----------- code polishing Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/MigrationController.java Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/MigrationController.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/MigrationController.java 2008-10-05 08:42:14 UTC (rev 4812) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/MigrationController.java 2008-10-05 08:42:59 UTC (rev 4813) @@ -124,10 +124,6 @@ authRequest.setDetails(new WebAuthenticationDetails(request)); } -// // Set details for authentication request. Preserve existing user details! -// UserDetails userDetails = (UserDetails)SecurityContextHolder.getContext().getAuthentication().getDetails(); -// authRequest.setDetails(userDetails!=null? userDetails : new WebAuthenticationDetails(request)); - session.setAttribute(AuthenticationProcessingFilter.ACEGI_SECURITY_LAST_USERNAME_KEY, username); Authentication auth = null; try { @@ -196,7 +192,6 @@ session.setAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_CONTEXT_KEY, securityContext); rememberMeServices.loginSuccess(request, response, auth); // setup user and userPreferences -// injectUserInformationIntoSession(auth); sessionTracker.logSessionCreated(getSession()); } else { exceptionMessage = i18n("authentication_error_password_mismatch"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-10-05 08:26:19
|
Revision: 4811 http://openuss.svn.sourceforge.net/openuss/?rev=4811&view=rev Author: idueppe Date: 2008-10-05 08:25:10 +0000 (Sun, 05 Oct 2008) Log Message: ----------- fixed firefox 3.0 display issue - flexlist buttons were displayed at the wrong position Modified Paths: -------------- branches/openuss-plexus-3.1/themes/theme-plexus/src/main/webapp/css/buttons.css Modified: branches/openuss-plexus-3.1/themes/theme-plexus/src/main/webapp/css/buttons.css =================================================================== --- branches/openuss-plexus-3.1/themes/theme-plexus/src/main/webapp/css/buttons.css 2008-10-04 13:23:12 UTC (rev 4810) +++ branches/openuss-plexus-3.1/themes/theme-plexus/src/main/webapp/css/buttons.css 2008-10-05 08:25:10 UTC (rev 4811) @@ -528,9 +528,8 @@ font-size: 0pt; height: 16px; padding: 0 16px 0 0; - margin: 0 0 0 5px; + margin: 0 4px 0 5px; overflow: hidden; - position: relative; width: 16px; cursor: pointer; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-10-04 13:23:29
|
Revision: 4810 http://openuss.svn.sourceforge.net/openuss/?rev=4810&view=rev Author: idueppe Date: 2008-10-04 13:23:12 +0000 (Sat, 04 Oct 2008) Log Message: ----------- merge from shibboleth branch - disabled shibboleth within the security.xml Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/security/Roles.java branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/security/SecurityDomainUtility.java branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/system/SystemProperties.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/delete_double_entries.sql branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/init.sql branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/migration_30RC1_to_31.sql branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/desktop/DesktopService2Impl.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/InstituteServiceImpl.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/MembershipServiceImpl.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/UserDetailsServiceAdapter.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/resources/applicationContext-commands.xml branches/openuss-plexus-3.1/plexus/plexus-core/src/main/resources/applicationContext-quartz.xml branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/aop/BookmarkingAspectTest.java branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/desktop/DesktopService2IntegrationTest.java branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/security/UserDetailsServiceAdapterTest.java branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/security/acegi/ldap/ConfigurableLdapAuthenticationProviderTest.java branches/openuss-plexus-3.1/plexus/plexus-core/src/test/resources/log4j.properties branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/BasePage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/Visit.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/braincontest/BrainContestNewPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/braincontest/BrainContestTopListPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/collaboration/WorkspaceMainPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/dav/RootResource.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/desktop/MyUniPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/discussion/DiscussionSearchPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/discussion/DiscussionThreadPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/MigrationController.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/MigrationPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/ShortenedRegistrationController.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/papersubmission/PaperSubmissionLecturerViewPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/search/ExtendedSearchPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/search/SearchPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/security/AuthenticationController.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/security/PlexusBasicProcessingFilter.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/security/RegistrationController.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/system/LoginPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/system/SystemPropertiesBean.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/system/ldap/LdapAttributeMappingRegistrationController.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources.properties branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources_de.properties branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/WEB-INF/facelets/login/loginPortlet.xhtml branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/WEB-INF/log4j.properties branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/WEB-INF/security.xml branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/WEB-INF/web.xml branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/views/public/login/login.xhtml branches/openuss-plexus-3.1/pom.xml branches/openuss-plexus-3.1/themes/theme-plexus/src/main/webapp/css/style.css Added Paths: ----------- branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/ branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserData.java branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserDataImpl.java branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/UserMigrationUtility.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/migration/ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/migration/UserMigrationUtilityImpl.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/AbstractShibbolethAuthenticationProvider.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProcessingFilter.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProvider.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/ShibbolethAuthenticationProcessingFilter.java branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/migration/ branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/migration/UserMigrationUtilityTest.java branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/security/acegi/shibboleth/ branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethIntegrationTest.java branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/security/acegi/shibboleth/ShibbolethAuthenticationProcessingFilterTest.java branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/security/acegi/shibboleth/ShibbolethAuthenticationProviderTest.java branches/openuss-plexus-3.1/plexus/plexus-core/src/test/resources/testShibbolethSecurity.xml branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/CentralUserDataBean.java branches/openuss-plexus-3.1/themes/theme-plexus/src/main/webapp/img/icons/lock_icon.png Removed Paths: ------------- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/CentralUserData.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/migration/MigrationUtility.java Added: branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserData.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserData.java (rev 0) +++ branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserData.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -0,0 +1,30 @@ +package org.openuss.migration; + +public interface CentralUserData { + + public abstract String getUsername(); + + public abstract void setUsername(String username); + + public abstract String getFirstName(); + + public abstract void setFirstName(String firstName); + + public abstract String getLastName(); + + public abstract void setLastName(String lastName); + + public abstract String getEmail(); + + public abstract void setEmail(String email); + + public abstract Long getAuthenticationDomainId(); + + public abstract void setAuthenticationDomainId(Long authenticationDomainId); + + public abstract String getAuthenticationDomainName(); + + public abstract void setAuthenticationDomainName( + String authenticationDomainName); + +} \ No newline at end of file Property changes on: branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserData.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserDataImpl.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserDataImpl.java (rev 0) +++ branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserDataImpl.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -0,0 +1,48 @@ +package org.openuss.migration; + +public class CentralUserDataImpl implements CentralUserData { + + protected String username; + protected String firstName; + protected String lastName; + protected String email; + protected String authenticationDomainName=""; + protected Long authenticationDomainId; + + public String getUsername() { + return username; + } + public String getFirstName() { + return firstName; + } + public String getLastName() { + return lastName; + } + public String getEmail() { + return email; + } + public String getAuthenticationDomainName() { + return authenticationDomainName; + } + public Long getAuthenticationDomainId() { + return authenticationDomainId; + } + public void setUsername(String username) { + this.username = username; + } + public void setFirstName(String firstName) { + this.firstName = firstName; + } + public void setLastName(String lastName) { + this.lastName = lastName; + } + public void setEmail(String email) { + this.email = email; + } + public void setAuthenticationDomainName(String authenticationDomainName) { + this.authenticationDomainName = authenticationDomainName; + } + public void setAuthenticationDomainId(Long authenticationDomainId) { + this.authenticationDomainId = authenticationDomainId; + } +} Property changes on: branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/CentralUserDataImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/UserMigrationUtility.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/UserMigrationUtility.java (rev 0) +++ branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/UserMigrationUtility.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -0,0 +1,33 @@ +package org.openuss.migration; + +import org.openuss.messaging.MessageService; +import org.openuss.security.SecurityService; +import org.openuss.security.UserInfo; + +public interface UserMigrationUtility { + + /** + * Application specific migration for users. + * @param user + * @param centralUserData + */ + public void migrate(UserInfo user, CentralUserData centralUserData); + + /** + * Application specific reconciliation of locally stored user details + * with centrally administered user details. + * @param user + * @param centralUserData + * @param haveToSave + * @return reconciliation status: <code>true</code>, if locally stored user details had to be updated. + */ + public boolean reconcile(UserInfo user, CentralUserData centralUserData, boolean haveToSave); + + public MessageService getMessageService(); + + public void setMessageService(MessageService messageService); + + public SecurityService getSecurityService(); + + public void setSecurityService(SecurityService securityService); +} Property changes on: branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/migration/UserMigrationUtility.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/security/Roles.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/security/Roles.java 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/security/Roles.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -10,6 +10,7 @@ * </ol> * * @author Ingo Dueppe + * @author Peter Schuh */ public final class Roles { @@ -21,18 +22,24 @@ public static final long ADMINISTRATOR_ID = -4L; public static final long LDAPUSER_ID = -6L; public static final String LDAPUSER_NAME = "LDAPUSER"; + public static final long SHIBBOLETHUSER_ID = -8L; + public static final String SHIBBOLETHUSER_NAME = "SHIBBOLETHUSER"; + public static final Group ANONYMOUS = Group.Factory.newInstance(); public static final Group USER = Group.Factory.newInstance(); public static final Group ADMINISTRATOR = Group.Factory.newInstance(); public static final Group LDAPUSER = Group.Factory.newInstance(); - + public static final Group SHIBBOLETHUSER = Group.Factory.newInstance(); + static { ANONYMOUS.setId(ANONYMOUS_ID); USER.setId(USER_ID); ADMINISTRATOR.setId(ADMINISTRATOR_ID); LDAPUSER.setId(LDAPUSER_ID); LDAPUSER.setName(LDAPUSER_NAME); + SHIBBOLETHUSER.setId(SHIBBOLETHUSER_ID); + SHIBBOLETHUSER.setName(SHIBBOLETHUSER_NAME); } } \ No newline at end of file Modified: branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/security/SecurityDomainUtility.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/security/SecurityDomainUtility.java 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/security/SecurityDomainUtility.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -10,6 +10,7 @@ */ public class SecurityDomainUtility { public static final String USERNAME_DOMAIN_DELIMITER = "\\"; + public static final String USER_MIGRATION_INDICATOR_KEY = "USER_AUTOMATICALLY_MIGRATED"; private static String delimiter = USERNAME_DOMAIN_DELIMITER; Modified: branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/system/SystemProperties.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/system/SystemProperties.java 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-api/src/main/java/org/openuss/system/SystemProperties.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -29,6 +29,22 @@ public static final String COPYRIGHT = "openuss.copyright"; + /* URL to start authentication within a lazy session configuration. + * value of openuss server url followed by + * these information from shibboleth.xml: + * value of handlerURL attribute (e. g. /Shibboleth.sso) within <Sessions> element followed by + * value of Location attribute (e. g. /WAYF/zivmiro01.uni-muenster.de) within <SessionInitiator> element followed by + * "?target=" (without quotes) for the value of the target url + * + * example: https://www.openuss.de/Shibboleth.sso/WAYF/zivmiro01.uni-muenster.de?target= + * + * According to that a complete url for initiating a user authentication looks like this + * (value of the target parameter has to be the url, that the user wants to access and + * can be taken from the http request object): + * + * example: https://www.openuss.de/Shibboleth.sso/WAYF/zivmiro01.uni-muenster.de?target=https://www.openuss.de/views/secured/myuni/myuni.faces */ + public static final String SHIBBOLETH_START_AUTH_URL = "shibboleth.start.auth.url"; + // Support System Configuration public static final String DOCUMENTATION_URL = "documentation.url"; Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/delete_double_entries.sql =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/delete_double_entries.sql 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/delete_double_entries.sql 2008-10-04 13:23:12 UTC (rev 4810) @@ -1,3 +1,9 @@ +-- +-- For DB Version 3.0 +-- +-- Deletes all double entries that shouldn't exisits +-- + create procedure delete_double_forumwatch as declare variable userId bigint; @@ -65,4 +71,4 @@ end end; execute procedure delete_double_subscriber; -drop PROCEDURE delete_double_subscriber; \ No newline at end of file +drop PROCEDURE delete_double_subscriber; Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/init.sql =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/init.sql 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/init.sql 2008-10-04 13:23:12 UTC (rev 4810) @@ -2,12 +2,15 @@ INSERT INTO SECURITY_AUTHORITY (ID, NAME) VALUES (-2, 'ROLE_USER'); INSERT INTO SECURITY_AUTHORITY (ID, NAME) VALUES (-4, 'ROLE_ADMIN'); INSERT INTO SECURITY_AUTHORITY (ID, NAME) VALUES (-6, 'ROLE_LDAPUSER'); +INSERT INTO SECURITY_AUTHORITY (ID, NAME) VALUES (-8, 'ROLE_SHIBBOLETHUSER'); INSERT INTO SECURITY_GROUP (ID, LABEL, GROUP_TYPE) VALUES (-1, 'ANONYMOUS', 1); INSERT INTO SECURITY_GROUP (ID, LABEL, GROUP_TYPE) VALUES (-2, 'USER', 1); INSERT INTO SECURITY_GROUP (ID, LABEL, GROUP_TYPE) VALUES (-4, 'ADMINISTRATOR', 1); INSERT INTO SECURITY_GROUP (ID, LABEL, GROUP_TYPE) VALUES (-6, 'LDAPUSER', 1); +INSERT INTO SECURITY_GROUP (ID, LABEL, GROUP_TYPE) VALUES (-8, 'SHIBBOLETHUSER', 1); + INSERT INTO SECURITY_OBJECT_IDENTITY (ID, PARENT_FK) VALUES (0, null); INSERT INTO SECURITY_PERMISSION (ACLOBJECTIDENTITY_ID, MASK, RECIPIENT_ID) VALUES (0, 32767, -4); @@ -26,6 +29,7 @@ INSERT INTO SYSTEM_PROPERTY (ID, PROP_NAME, PROP_VALUE) VALUES (13, 'provider.url', 'http://openuss.sourceforge.net'); INSERT INTO SYSTEM_PROPERTY (ID, PROP_NAME, PROP_VALUE) VALUES (14, 'getting.started', ''); INSERT INTO SYSTEM_PROPERTY (ID, PROP_NAME, PROP_VALUE) VALUES (15, 'mail.smtp.auth', 'true'); +INSERT INTO SYSTEM_PROPERTY (ID, PROP_NAME, PROP_VALUE) VALUES (16, 'shibboleth.start.auth.url', 'https://wi-vm591.uni-muenster.de/Shibboleth.sso/WAYF/zivmiro01.uni-muenster.de?target='); INSERT INTO SECURITY_AUTHORITY (ID, NAME) VALUES (-10, 'admin'); Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/migration_30RC1_to_31.sql =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/migration_30RC1_to_31.sql 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/data/migration_30RC1_to_31.sql 2008-10-04 13:23:12 UTC (rev 4810) @@ -1107,8 +1107,4 @@ from security_user where security_user.id = changed_users.id); --------------------------------------------------------------------------- --- Add additional system properties -- --------------------------------------------------------------------------- -INSERT INTO SYSTEM_PROPERTY (ID, PROP_NAME, PROP_VALUE) VALUES (15, 'mail.smtp.auth', 'true'); Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/desktop/DesktopService2Impl.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/desktop/DesktopService2Impl.java 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/desktop/DesktopService2Impl.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -1206,5 +1206,4 @@ } } - } Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/InstituteServiceImpl.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/InstituteServiceImpl.java 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/InstituteServiceImpl.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -513,5 +513,4 @@ getInstituteDao().update(institute); } } - } \ No newline at end of file Added: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/migration/UserMigrationUtilityImpl.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/migration/UserMigrationUtilityImpl.java (rev 0) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/migration/UserMigrationUtilityImpl.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -0,0 +1,112 @@ +package org.openuss.migration; + +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + +import org.acegisecurity.Authentication; +import org.acegisecurity.context.SecurityContextHolder; +import org.acegisecurity.providers.UsernamePasswordAuthenticationToken; +import org.apache.commons.lang.StringUtils; +import org.openuss.messaging.MessageService; +import org.openuss.messaging.MessageServiceException; +import org.openuss.security.SecurityDomainUtility; +import org.openuss.security.SecurityService; +import org.openuss.security.UserInfo; +import org.openuss.security.acegi.UserInfoDetailsAdapter; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.util.Assert; + +public class UserMigrationUtilityImpl implements UserMigrationUtility, InitializingBean { + + protected MessageService messageService; + protected SecurityService securityService; + + @Override + public void afterPropertiesSet() throws Exception { + Assert.notNull(securityService, "A security service must be set."); + Assert.notNull(messageService, "A message service must be set."); + } + + + public void migrate(UserInfo user, CentralUserData centralUserData) { + Authentication preservedAuthentication = SecurityContextHolder.getContext().getAuthentication(); + // Set enabled status for migrated user, since we received a verified email address from a trusted third-party, e. g. a ldap directory or a SSO identity provider. + user.setEnabled(true); + UserInfoDetailsAdapter userDetails = new UserInfoDetailsAdapter(user,securityService.getGrantedAuthorities(user)); + UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(userDetails,null,userDetails.getAuthorities()); + + SecurityContextHolder.getContext().setAuthentication(auth); + // Generate random password, so that account is likely not to be used for login. + Random random = new Random(); + String password = String.valueOf(random.nextLong())+String.valueOf(random.nextLong()); + securityService.changePassword(password); + user.setUsername(centralUserData.getUsername()); + reconcile(user, centralUserData, true); + + // Remove temporary authentication, due to it was only necessary for SecurityService. + SecurityContextHolder.getContext().setAuthentication(preservedAuthentication); + + sendMigrationNotificationEmail(user, centralUserData.getAuthenticationDomainName()); + } + + public boolean reconcile(UserInfo user, CentralUserData centralUserData, boolean haveToSave) { + boolean mustSave = haveToSave; + if (!StringUtils.equalsIgnoreCase(user.getEmail(), centralUserData.getEmail())) { + user.setEmail(centralUserData.getEmail()); + mustSave = true; + } + + if (!StringUtils.equalsIgnoreCase(user.getFirstName(), centralUserData.getFirstName())) { + user.setFirstName(centralUserData.getFirstName()); + mustSave = true; + } + + if (!StringUtils.equalsIgnoreCase(user.getLastName(), centralUserData.getLastName())) { + user.setLastName(centralUserData.getLastName()); + mustSave = true; + } + + if (mustSave) { + securityService.saveUser(user); + } + + return mustSave; + } + + /** + * Sends the user an email notification, that her account was migrated and she must login + * using her username and password for the specified authentication domain. + * + * @param user + * @param domainname + * @throws MessageServiceException + */ + private void sendMigrationNotificationEmail(UserInfo user, String authenticationDomainName) throws MessageServiceException { + String username = SecurityDomainUtility.extractUsername(user.getUsername()); + + Map<String, Object> parameters = new HashMap<String, Object>(); + parameters.put("username", username); + parameters.put("domainname", authenticationDomainName); + + messageService.sendMessage("user.migration.notification.sender", "user.migration.notification.subject", "migrationnotification", + parameters, user); + } + + public MessageService getMessageService() { + return messageService; + } + + public void setMessageService(MessageService messageService) { + this.messageService = messageService; + } + + public SecurityService getSecurityService() { + return securityService; + } + + public void setSecurityService(SecurityService securityService) { + this.securityService = securityService; + } + +} Property changes on: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/migration/UserMigrationUtilityImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/MembershipServiceImpl.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/MembershipServiceImpl.java 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/MembershipServiceImpl.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -247,5 +247,4 @@ membership.setMembers(new ArrayList<User>()); } } - } \ No newline at end of file Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/UserDetailsServiceAdapter.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/UserDetailsServiceAdapter.java 2008-10-04 13:19:07 UTC (rev 4809) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/UserDetailsServiceAdapter.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -9,7 +9,7 @@ /** * @author Ingo Dueppe - * + * @author Peter Schuh */ public class UserDetailsServiceAdapter implements UserDetailsService { @@ -30,7 +30,13 @@ UserInfo userInfo = securityService.getUserByName(username); if (userInfo == null) { - throw new UsernameNotFoundException("Username not found!"); + // FIXME Workaround for missing signature within interface. Fix it, if Acegi developers extend the interface definition. + // Unfortunately the UserDetailsService interface does not provide a method loadUserByEmail, but we need this. + // Therefore we assume the username parameter being an email address and try to load the user. + userInfo = securityService.getUserByEmail(username); + if (userInfo == null) { + throw new UsernameNotFoundException("Username not found!"); + } } String[] authorities = securityService.getGrantedAuthorities(userInfo); Added: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/AbstractShibbolethAuthenticationProvider.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/AbstractShibbolethAuthenticationProvider.java (rev 0) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/AbstractShibbolethAuthenticationProvider.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -0,0 +1,302 @@ +package org.openuss.security.acegi.shibboleth; + +import org.acegisecurity.AccountExpiredException; +import org.acegisecurity.Authentication; +import org.acegisecurity.AuthenticationException; +import org.acegisecurity.AuthenticationServiceException; +import org.acegisecurity.BadCredentialsException; +import org.acegisecurity.DisabledException; +import org.acegisecurity.LockedException; +import org.acegisecurity.adapters.PrincipalAcegiUserToken; +import org.acegisecurity.providers.UsernamePasswordAuthenticationToken; +import org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider; +import org.acegisecurity.userdetails.UserDetails; +import org.acegisecurity.userdetails.UserDetailsService; +import org.acegisecurity.userdetails.UsernameNotFoundException; +import org.springframework.dao.DataAccessException; +import org.springframework.util.Assert; + +/** + * @author Peter Schuh + * + */ +public abstract class AbstractShibbolethAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider { + + //~ Instance fields ================================================================================================ + + /** + * Our user details service (which does the real work of checking the user against a back-end user store).</br> + * Must not be <code>null</code>. + */ + protected UserDetailsService userDetailsService; + /** + * Indicates, which filter has generated the authentication request.</br> + * Only <code>PrincipalAcegiUserToken</code> with proper key will be processed.</br> + * Assure setting the key according to the key property of the corresponding <code>ShibbolethAuthenticationProcessingFilter</code>.</br> + * Must not be <code>null</code>. + */ + protected String key; + + /** + * Enables migration, i. e. either automatic migration, if a user can be found, or manual migration by redirecting the user to a specific migration page.</br> + * Defaults to <code>false</code>. + */ + protected boolean migrationEnabled = false; + + /** + * Enables reconciliation, i. e. application specific updating of locally stored user details with data received from shibboleth identity provider.</br> + * Defaults to <code>false</code>. + */ + protected boolean reconciliationEnabled = false; + + /** + * Possibly useful for automatic migration of disabled or not yet enabled users, e. g. if user has registered, but not yet verified his email address.</br> + * Nevertheless <code>DisabledException</code> will be thrown for migrated users.</br> + * Defaults to <code>false</code>. + */ + protected boolean ignoreDisabledException = false; + + public Authentication authenticate(Authentication authentication) throws AuthenticationException { + Assert.isTrue(supports(authentication.getClass()), messages.getMessage("ShibbolethAuthenticationProvider.onlySupports", + "Only PrincipalAcegiUserToken is supported")); + if (!(((PrincipalAcegiUserToken)authentication).getKeyHash() == getKey().hashCode())) { + throw new BadCredentialsException("An authentication was presented, that was not generated by the corresponding shibboleth filter and is thus not supported."); + } + + // Determine username + String username = generateUsernameFromAuthentication(authentication); + if (username == null) { + username = "NONE_PROVIDED"; + } + + boolean cacheWasUsed = true; + UserDetails user = getUserCache().getUserFromCache(username); + + if (user == null) { + cacheWasUsed = false; + + try { + user = retrieveUser(username, (PrincipalAcegiUserToken) authentication); + } catch (UsernameNotFoundException notFound) { + if (isMigrationEnabled()) { + // Return authentication request, so that new user or user, that cannot be migrated automatically, + // can be redirected to a MigrationEntryPoint within an extended ExceptionTranslationFilter + return authentication; + } + if (isHideUserNotFoundExceptions()) { + throw new BadCredentialsException(messages.getMessage( + "AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials")); + } + else { + throw notFound; + } + } + } + + // User details found + try { + additionalAuthenticationChecks(user, (PrincipalAcegiUserToken) authentication); + } catch (AuthenticationException exception) { + if (cacheWasUsed) { + // There was a problem, so try again after checking + // we're using latest data (ie not from the cache) + cacheWasUsed = false; + user = retrieveUser(username, (PrincipalAcegiUserToken) authentication); + additionalAuthenticationChecks(user, (PrincipalAcegiUserToken) authentication); + } else { + throw exception; + } + } + + getPostAuthenticationChecks().check(user); + + + // Automatic migration + if (isMigrationEnabled() && !isAlreadyMigrated(user, authentication)) { + if (cacheWasUsed) { + // Reload user to get latest data (i. e. not from cache). + // Do additional authentication checks, due to cache may be out-dated. + user = retrieveUser(username, (PrincipalAcegiUserToken) authentication); + additionalAuthenticationChecks(user, (PrincipalAcegiUserToken) authentication); + // Force cache update + cacheWasUsed = false; + } + // Cache could have been out-dated regarding the need for migration. + // Possibly user has been migrated otherwise, meanwhile. + if (!isAlreadyMigrated(user, authentication)) { + migrate(user, authentication); + // Reload user + user = retrieveUser(username, (PrincipalAcegiUserToken) authentication); + } + } + else if (!cacheWasUsed && isReconciliationEnabled() && isAlreadyMigrated(user, authentication)) { + // Only do reconciliation of centrally administered user details and locally saved ones, + // if local user details came from user details service, to preserve user details being + // updated with out-dated data from cache. + boolean userWasUpdated = false; + userWasUpdated = reconcile(user, authentication); + if (userWasUpdated) { + // Reload user + user = retrieveUser(username, (PrincipalAcegiUserToken) authentication); + } + } + + if (!cacheWasUsed) { + getUserCache().putUserInCache(user); + } + + Object principalToReturn = user; + + if (isForcePrincipalAsString()) { + principalToReturn = user.getUsername(); + } + + return createSuccessAuthentication(principalToReturn, authentication, user); + } + + + + protected void doAfterPropertiesSet() throws Exception { + Assert.notNull(this.userDetailsService, "A UserDetailsService must be set"); + Assert.hasLength(key, "A key must be set"); + } + + + /** + * Enables application specific derivation of usernames. + * @param authentication + * @return + */ + protected abstract String generateUsernameFromAuthentication(Authentication authentication); + + /* (non-Javadoc) + * @see org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider#supports(java.lang.Class) + */ + @Override + public boolean supports(Class authentication) { + return PrincipalAcegiUserToken.class.isAssignableFrom(authentication); + } + + /** + * Retrieves user by username using a <code>UserDetailsService</code> implementation, that has to be assigned as a property. + * @param username + * @param authentication + * @return + * @throws AuthenticationException + */ + protected UserDetails retrieveUser(String username, PrincipalAcegiUserToken authentication) throws AuthenticationException { + + UserDetails loadedUser; + + try { + loadedUser = this.getUserDetailsService().loadUserByUsername(username); + } catch (DataAccessException repositoryProblem) { + throw new AuthenticationServiceException(repositoryProblem.getMessage(), repositoryProblem); + } + + if (loadedUser == null) { + throw new AuthenticationServiceException("UserDetailsService returned null, which is an interface contract violation"); + } + + return loadedUser; + } + + /** + * Application specific migration for users, e. g. set authentication mechanism for user to shibboleth. + * @param user + * @param authentication + */ + protected void migrate(UserDetails user, Authentication authentication) {} + + /** + * Application specific reconciliation of user details, e. g. updating of locally stored user details with data received by the corresponding shibboleth filter. + * @param user + * @param authentication + * @return reconciliation status: <code>true</code>, if locally stored user details had to be updated. + */ + protected abstract boolean reconcile(UserDetails user, Authentication authentication); + + /** + * Check user migration status. + * @param user + * @param authentication + * @return migration status + */ + protected abstract boolean isAlreadyMigrated(UserDetails user, Authentication authentication); + + protected void additionalAuthenticationChecks(UserDetails user, PrincipalAcegiUserToken authentication) throws AuthenticationException { + // No password checking necessary, since this was done by the shibboleth identity provider, already. + if ((!user.isEnabled() && !isIgnoreDisabledException() && !isAlreadyMigrated(user, authentication)) || + (!user.isEnabled() && isAlreadyMigrated(user, authentication))) { + throw new DisabledException(messages.getMessage("AbstractUserDetailsAuthenticationProvider.disabled", + "User is disabled"), user); + } + + if (!user.isAccountNonLocked()) { + throw new LockedException(messages.getMessage("AbstractUserDetailsAuthenticationProvider.locked", + "User account is locked"), user); + } + + if (!user.isAccountNonExpired()) { + throw new AccountExpiredException(messages.getMessage("AbstractUserDetailsAuthenticationProvider.expired", + "User account has expired"), user); + } + } + + public boolean isMigrationEnabled() { + return migrationEnabled; + } + + public void setMigrationEnabled(boolean migrationEnabled) { + this.migrationEnabled = migrationEnabled; + } + + /* (non-Javadoc) + * @see org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider#additionalAuthenticationChecks(org.acegisecurity.userdetails.UserDetails, org.acegisecurity.providers.UsernamePasswordAuthenticationToken) + */ + @Override + protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken authentication) throws AuthenticationException { + // This method must be implemented, due to inheritance, but is never used, since we use a PrincipalAcegiUserToken. + } + + /* (non-Javadoc) + * @see org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider#retrieveUser(java.lang.String, org.acegisecurity.providers.UsernamePasswordAuthenticationToken) + */ + @Override + protected UserDetails retrieveUser(String username, UsernamePasswordAuthenticationToken authentication) throws AuthenticationException { + // This method must be implemented, due to inheritance, but is never used, since we use a PrincipalAcegiUserToken. + return null; + } + + public UserDetailsService getUserDetailsService() { + return userDetailsService; + } + + public void setUserDetailsService(UserDetailsService userDetailsService) { + this.userDetailsService = userDetailsService; + } + + public boolean isIgnoreDisabledException() { + return ignoreDisabledException; + } + + public void setIgnoreDisabledException(boolean ignoreDisabledException) { + this.ignoreDisabledException = ignoreDisabledException; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public boolean isReconciliationEnabled() { + return reconciliationEnabled; + } + + public void setReconciliationEnabled(boolean reconciliationEnabled) { + this.reconciliationEnabled = reconciliationEnabled; + } +} \ No newline at end of file Property changes on: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/AbstractShibbolethAuthenticationProvider.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProcessingFilter.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProcessingFilter.java (rev 0) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProcessingFilter.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -0,0 +1,16 @@ +package org.openuss.security.acegi.shibboleth; + +import org.springframework.util.Assert; + +/** + * @author Peter Schuh + * + */ +public class PlexusShibbolethAuthenticationProcessingFilter extends ShibbolethAuthenticationProcessingFilter { + + protected void doAfterPropertiesSet() throws Exception { + Assert.notNull(getDefaultDomainName(), "defaultDomainName must be specified"); + Assert.notNull(getDefaultDomainId(), "defaultDomainId must be specified"); + } + +} Property changes on: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProcessingFilter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProvider.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProvider.java (rev 0) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProvider.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -0,0 +1,118 @@ +package org.openuss.security.acegi.shibboleth; + +import javax.naming.NamingException; + +import org.acegisecurity.Authentication; +import org.acegisecurity.AuthenticationException; +import org.acegisecurity.AuthenticationServiceException; +import org.acegisecurity.adapters.PrincipalAcegiUserToken; +import org.acegisecurity.userdetails.UserDetails; +import org.openuss.framework.web.acegi.shibboleth.ShibbolethUserDetails; +import org.openuss.framework.web.acegi.shibboleth.ShibbolethUserDetailsImpl; +import org.openuss.migration.CentralUserData; +import org.openuss.migration.CentralUserDataImpl; +import org.openuss.migration.UserMigrationUtility; +import org.openuss.security.SecurityDomainUtility; +import org.openuss.security.UserInfo; +import org.springframework.dao.DataAccessException; +import org.springframework.util.Assert; + +/** + * @author Peter Schuh + * + */ +public class PlexusShibbolethAuthenticationProvider extends AbstractShibbolethAuthenticationProvider { + private UserMigrationUtility userMigrationUtility; + + @Override + protected void doAfterPropertiesSet() throws Exception { + super.doAfterPropertiesSet(); + Assert.notNull(this.userMigrationUtility, "A UserMigrationUtility must be set"); + } + + @Override + protected boolean isAlreadyMigrated(UserDetails user, Authentication authentication) { + return ((UserInfo)user).isCentralUser(); + } + + @Override + protected UserDetails retrieveUser(String username, PrincipalAcegiUserToken authentication) throws AuthenticationException { + + UserDetails loadedUser; + + try { + String userEmailAddress = (String)((ShibbolethUserDetails) authentication.getDetails()).getAttributes().get(ShibbolethUserDetailsImpl.EMAIL_KEY).get(); + // Due to insufficient interface declaration, we had to extend our UserDetailsService implementation, so that it can also load a user by email address. + // May the Acegi developers extend the interface by a loadUserByEmail or a similar method. + loadedUser = this.getUserDetailsService().loadUserByUsername(userEmailAddress); + } catch (DataAccessException repositoryProblem) { + throw new AuthenticationServiceException(repositoryProblem.getMessage(), repositoryProblem); + } catch (NamingException e) { + throw new IllegalArgumentException(e.getMessage(),e); + } + + if (loadedUser == null) { + throw new AuthenticationServiceException("UserDetailsService returned null, which is an interface contract violation"); + } + + return loadedUser; + } + + protected String generateUsernameFromAuthentication(Authentication authentication) { + String domainName = ""; + String username = ""; + try { + domainName = (String)((ShibbolethUserDetails) authentication.getDetails()).getAttributes().get(ShibbolethUserDetailsImpl.AUTHENTICATIONDOMAINNAME_KEY).get(); + username = (String)((ShibbolethUserDetails) authentication.getDetails()).getAttributes().get(ShibbolethUserDetailsImpl.USERNAME_KEY).get(); + } catch (NamingException e) { + throw new IllegalArgumentException(e.getMessage(),e); + } + return SecurityDomainUtility.toUsername(domainName, username); + } + + @Override + protected void migrate(UserDetails user, Authentication authentication) { + getUserMigrationUtility().migrate((UserInfo)user, mapShibbolethUserAttributesToCentralUserData(authentication)); + markUserAsMigratedOne(user, authentication); + } + + + /** + * Sets a marker for a migrated user. This marker is used within frontend to decide whether to show an appropriate message. + * @param user + * @param authentication + */ + private void markUserAsMigratedOne(UserDetails user, Authentication authentication) { + ((ShibbolethUserDetails)authentication.getDetails()).getAttributes().put(SecurityDomainUtility.USER_MIGRATION_INDICATOR_KEY, Boolean.valueOf(true)); + } + + @Override + protected boolean reconcile(UserDetails user, Authentication authentication) { + return getUserMigrationUtility().reconcile((UserInfo)user, mapShibbolethUserAttributesToCentralUserData(authentication), false); + } + + private CentralUserData mapShibbolethUserAttributesToCentralUserData( + Authentication authentication) { + CentralUserData centralUserData = new CentralUserDataImpl(); + try { + centralUserData.setUsername(generateUsernameFromAuthentication(authentication)); + centralUserData.setFirstName((String)((ShibbolethUserDetails)authentication.getDetails()).getAttributes().get(ShibbolethUserDetailsImpl.FIRSTNAME_KEY).get()); + centralUserData.setLastName((String)((ShibbolethUserDetails)authentication.getDetails()).getAttributes().get(ShibbolethUserDetailsImpl.LASTNAME_KEY).get()); + centralUserData.setEmail((String)((ShibbolethUserDetails)authentication.getDetails()).getAttributes().get(ShibbolethUserDetailsImpl.EMAIL_KEY).get()); + centralUserData.setAuthenticationDomainName((String)((ShibbolethUserDetails)authentication.getDetails()).getAttributes().get(ShibbolethUserDetailsImpl.AUTHENTICATIONDOMAINNAME_KEY).get()); + centralUserData.setAuthenticationDomainId((Long)((ShibbolethUserDetails)authentication.getDetails()).getAttributes().get(ShibbolethUserDetailsImpl.AUTHENTICATIONDOMAINID_KEY).get()); + } catch (NamingException e) { + // do nothing + } + return centralUserData; + } + + public UserMigrationUtility getUserMigrationUtility() { + return userMigrationUtility; + } + + public void setUserMigrationUtility(UserMigrationUtility userMigrationUtility) { + this.userMigrationUtility = userMigrationUtility; + } + +} Property changes on: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/PlexusShibbolethAuthenticationProvider.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/ShibbolethAuthenticationProcessingFilter.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/ShibbolethAuthenticationProcessingFilter.java (rev 0) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/acegi/shibboleth/ShibbolethAuthenticationProcessingFilter.java 2008-10-04 13:23:12 UTC (rev 4810) @@ -0,0 +1,579 @@ +package org.openuss.security.acegi.shibboleth; + +import java.io.IOException; +import java.util.Locale; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.acegisecurity.Authentication; +import org.acegisecurity.AuthenticationException; +import org.acegisecurity.GrantedAuthority; +import org.acegisecurity.GrantedAuthorityImpl; +import org.acegisecurity.adapters.PrincipalAcegiUserToken; +import org.acegisecurity.context.SecurityContextHolder; +import org.acegisecurity.event.authentication.AuthenticationSuccessEvent; +import org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken; +import org.acegisecurity.ui.AbstractProcessingFilter; +import org.acegisecurity.ui.AuthenticationDetailsSource; +import org.acegisecurity.ui.webapp.AuthenticationProcessingFilter; +import org.openuss.framework.web.acegi.shibboleth.ShibbolethUserDetails; +import org.openuss.framework.web.acegi.shibboleth.ShibbolethUserDetailsImpl; +import org.springframework.util.Assert; + +/** + * @author Peter Schuh + * + */ +public class ShibbolethAuthenticationProcessingFilter extends AbstractProcessingFilter { + + /** + * Key of the HTTP header attribute for a user's username.</br> + * Defaults to <i>Shib-TargetedID</i>.</br> + * Must not be <code>null</code>. + */ + protected String shibbolethUsernameHeaderKey = "Shib-TargetedID"; + + /** + * Key of the HTTP header attribute for a user's firstname.</br> + * Defaults to <i>Shib-InetOrgPerson-givenName</i>.</br> + * Must not be <code>null</code>. + */ + protected String shibbolethFirstNameHeaderKey = "Shib-InetOrgPerson-givenName"; + + /** + * Key of the HTTP header attribute for a user's lastname.</br> + * Defaults to <i>Shib-Person-surname</i>.</br> + * Must not be <code>null</code>. + */ + protected String shibbolethLastNameHeaderKey = "Shib-Person-surname"; + + /** + * Key of the HTTP header attribute for a user's email address.</br> + * Defaults to <i>Shib-InetOrgPerson-mail</i>.</br> + * Must not be <code>null</code>. + */ + protected String shibbolethEmailHeaderKey = "Shib-InetOrgPerson-mail";; + + /** + * Indicates, which filter instance has generated the authentication request.</br> + * Only <code>PrincipalAcegiUserToken</code> with proper key will be processed by a corresponding <code>ShibbolethAuthenticationProvider</code> implementation.</br> + * Assure setting the key according to the key property of the corresponding <code>ShibbolethAuthenticationProvider</code> instance.</br> + * Must not be <code>null</code>. + */ + protected String key = null; + + protected ShibbolethUserDetails shibbolethUserDetails; + + /** + * Default role prefix of a default role. If default role is automatically prefixed, if prefix is missing.</br> + * Defaults to <code>ROLE_</code>.</br> + * Must not be <code>null</code>. + */ + protected String defaultRolePrefix = "ROLE_"; + + /** + * Default role, that is assigned to a shibboleth user for an authentication request, that is processed by the corresponding <code>ShibbolethAuthenticationProvider</code>.</br> + * Must not be <code>null</code>. + */ + protected String defaultRole = "ROLE_SHIBUSER"; + + /** + * Name of the default domain, that is assigned to a shibboleth user's details of an authentication request, that is processed by the corresponding <code>ShibbolethAuthenticationProvider</code>. + */ + protected String defaultDomainName = null; + + /** + * ID of the default domain, that is assigned to a shibboleth user's details of an authentication request, that is processed by the corresponding <code>ShibbolethAuthenticationProvider</code>. + */ + protected Long defaultDomainId; + + /** + * Enables migration.</br> + * Gets <code>true</code> by setting a <code>migrationTargetUrl</code>.</br> + * Take care to also enable migration within corresponding <code>shibbolethAuthenticationProvider</code>!</br> + * Defaults to <code>false</code>. + */ + protected boolean migrationEnabled = false; + + /** + * Url the user gets redirected to, if manual migration is necessary.</br> + * Take care to also enable migration within corresponding <code>shibbolethAuthenticationProvider</code>! + */ + protected String migrationTargetUrl = null; + + protected boolean migrationNecessary = false; + + /** + * Enables HTTP redirect in case of a successful authentication.</br> + * Defaults to <code>true</code>. + */ + protected boolean redirectOnAuthenticationSuccessEnabled = true; + + /** + * Enables HTTP redirect in case of a successful authentication.</br> + * Defaults to <code>true</code>. + */ + protected boolean redirectOnAuthenticationFailureEnabled = true; + + /** + * Defines, when an authentication is required.</br> + * Behaviour depends on both <code>processEachUrlEnabled</code> <b>and</b> <code>onlyProcessFilterProcessesUrlEnabled</code>.</br> + * <p> + * <u>Possible four combinations:</u></br> + * </p> + * <p> + * processEachUrlEnabled: <code>false</code></br> + * onlyProcessFilterProcessesUrlEnabled: <code>false</code></br> + * Results in:</br> + * Authentication is required, if and only if current authentication is <code>null</code> or an instance of an <code>AnonymousAuthenticationToken</code> <b>and</b> url of request matches the url, that the filter is set to process. + * </p> + * <p> + * processEachUrlEnabled: <code>true</code></br> + * onlyProcessFilterProcessesUrlEnabled: <code>false</code></br> + * Results in:</br> + * Authentication is required, if current authentication is <code>null</code> or an instance of an <code>AnonymousAuthenticationToken</code>. + * </p> + * <p> + * processEachUrlEnabled: <code>false</code></br> + * onlyProcessFilterProcessesUrlEnabled: <code>true</code></br> + * Results in:</br> + * Authentication is required, if url of request matches the url, that the filter is configured to process. + * </p> + * <p> + * processEachUrlEnabled: <code>true</code></br> + * onlyProcessFilterProcessesUrlEnabled: <code>true</code></br> + * Results in:</br> + * Authentication is required, if current authentication is <code>null</code> or an instance of an <code>AnonymousAuthenticationToken</code> <b>or</b> url of request matches the url, that the filter is set to process. + * </p> + * <p> + * <u>Default behaviour:</u> + * </p> + * processEachUrlEnabled: <code>false</code></br> + * onlyProcessFilterProcessesUrlEnabled: <code>true</code> + */ + protected boolean processEachUrlEnabled = false; + + /** + * @see #processEachUrlEnabled + * + */ + protected boolean onlyProcessFilterProcessesUrlEnabled = true; + + /** + * Enables filter to return after unsuccessful authentication instead of continuing filter chain.</br> + * Defaults to <code>false</code>, i. e. proceeding filter chain. + */ + protected boolean returnAfterUnsuccessfulAuthentication = false; + + /** + * Enables filter to return after successful authentication instead of continuing filter chain.</br> + * Defaults to <code>false</code>, i. e. proceeding filter chain. + */ + protected boolean returnAfterSuccessfulAuthentication = false; + + public ShibbolethAuthenticationProcessingFilter() { + super(); + super.setAuthenticationDetailsSource(new ShibbolethAuthenticationDetailsSource()); + } + + public void afterPropertiesSet() throws Exception { + super.afterPropertiesSet(); + Assert.hasLength(shibbolethUsernameHeaderKey, "shibbolethUsernameHeaderKey must be specified"); + Assert.hasLength(shibbolethFirstNameHeaderKey, "shibbolethFirstNameHeaderKey must be specified"); + Assert.hasLength(shibbolethLastNameHeaderKey, "shibbolethLastNameHeaderKey must be specified"); + Assert.hasLength(shibbolethEmailHeaderKey, "shibbolethEmailHeaderKey must be specified"); + Assert.hasLength(key, "key must be specified"); + Assert.hasLength(defaultRole, "defaultRole must be specified"); + doAfterPropertiesSet(); + } + + protected void doAfterPropertiesSet() throws Exception {} + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + if (!(request instanceof HttpServletRequest)) { + throw new ServletException("Can only process HttpServletRequest"); + } + + if (!(response instanceof HttpServletResponse)) { + throw new ServletException("Can only process HttpServletResponse"); + } + + HttpServletRequest httpRequest = (HttpServletRequest) request; + HttpServletResponse httpResponse = (HttpServletResponse) response; + + // Check, if authentication is required and possible. + // Possible means, that shibboleth request header attributes must be present and set. + // Remember, that shibboleth request header attributes are always present, if a request + // passed the apache shibboleth module. Only their presence does not indicate, that an authentication + // is possible. For an authentication, they must be set. + String usernameHeader = httpRequest.getHeader(shibbolethUsernameHeaderKey); + if (requiresAuthentication(httpRequest, httpResponse) && + (usernameHeader!= null)&& + !("".equals(usernameHeader))) { + + if (logger.isDebugEnabled()) { + logger.debug("Request is to process authentication"); + } + + Authentication authResult; + + try { + onPreAuthentication(httpRequest, httpResponse); + authResult = attemptAuthentication(httpRequest); + + // Authentication success + if (isContinueChainBeforeSuccessfulAuthentication()) { + chain.doFilter(request, response); + } + + successfulAuthentication(httpRequest, httpResponse, authResult); + + if (isReturnAfterSuccessfulAuthentication()) { + return; + } + } + catch (AuthenticationException failed) { + // Authentication failed + // Due to AuthenticationManager throws only the last exception thrown within his ordered provider chain. + /... [truncated message content] |
From: <id...@us...> - 2008-10-04 13:19:18
|
Revision: 4809 http://openuss.svn.sourceforge.net/openuss/?rev=4809&view=rev Author: idueppe Date: 2008-10-04 13:19:07 +0000 (Sat, 04 Oct 2008) Log Message: ----------- merge from shibboleth branch Added Paths: ----------- branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetails.java branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetailsImpl.java Added: branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetails.java =================================================================== --- branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetails.java (rev 0) +++ branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetails.java 2008-10-04 13:19:07 UTC (rev 4809) @@ -0,0 +1,41 @@ + /* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited + * + * 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.openuss.framework.web.acegi.shibboleth; + + import org.acegisecurity.userdetails.UserDetails; + import javax.naming.directory.Attributes; + + /** + * Captures the information for a user presented by Shibboleth. + * Inspired by <code>org.acegisecurity.userdetails.ldap.LdapUserDetails</code> + * + * @author Peter Schuh + * @version $Id$ + */ + + public interface ShibbolethUserDetails extends UserDetails { + + //~ Methods ======================================================================================================== + + /** + * The attributes for the user's entry in the directory (or a subset of them, depending on what was + * retrieved from the directory) + * + * @return the user's attributes, or an empty array if none were obtained, never null. + */ + Attributes getAttributes(); + + } \ No newline at end of file Property changes on: branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetails.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetailsImpl.java =================================================================== --- branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetailsImpl.java (rev 0) +++ branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetailsImpl.java 2008-10-04 13:19:07 UTC (rev 4809) @@ -0,0 +1,138 @@ +/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited +* +* 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.openuss.framework.web.acegi.shibboleth; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import javax.naming.directory.Attributes; +import javax.naming.directory.BasicAttributes; + +import org.acegisecurity.GrantedAuthority; + + +/** +* A UserDetails implementation which is used internally by the Shibboleth services. It also contains the user's +* distinguished name and a set of attributes that have been retrieved from the Shibboleth Identity Provider.<p>An instance may be +* created when user information is retrieved during authentication.</p> +* <p>An instance of this class will be used by the <tt>ShibbolethAuthenticationProcessingFilter</tt> to construct the final +* user details object that it returns.</p> +* +* Inspired by <code>org.acegisecurity.userdetails.ldap.LdapUserDetailsImpl</code> +* @author Peter Schuh +* @version $Id$ +*/ +public class ShibbolethUserDetailsImpl implements ShibbolethUserDetails { + //~ Static fields/initializers ===================================================================================== + + private static final long serialVersionUID = 1L; + private static final List<GrantedAuthority> NO_AUTHORITIES = new ArrayList<GrantedAuthority>(); + + //~ Constants for Attribute IDs where to store user details ======================================================== + + public static final String USERNAME_KEY = "ACEGI_SHIBBOLETH_USERNAME_KEY"; + public static final String FIRSTNAME_KEY = "ACEGI_SHIBBOLETH_FIRSTNAME_KEY"; + public static final String LASTNAME_KEY = "ACEGI_SHIBBOLETH_LASTNAME_KEY"; + public static final String EMAIL_KEY = "ACEGI_SHIBBOLETH_EMAIL_KEY"; + public static final String AUTHENTICATIONDOMAINID_KEY = "ACEGI_SHIBBOLETH_AUTHENTICATIONDOMAINID_KEY"; + public static final String AUTHENTICATIONDOMAINNAME_KEY = "ACEGI_SHIBBOLETH_AUTHENTICATIONDOMAINNAME_KEY"; + + //~ Instance fields ================================================================================================ + + private Attributes attributes = new BasicAttributes(); + private String password; + private String username; + private List<GrantedAuthority> authorities = NO_AUTHORITIES; + private boolean accountNonExpired = true; + private boolean accountNonLocked = true; + private boolean credentialsNonExpired = true; + private boolean enabled = true; + + //~ Constructors =================================================================================================== + + public ShibbolethUserDetailsImpl() {} + + //~ Methods ======================================================================================================== + + public Attributes getAttributes() { + return attributes; + } + + public GrantedAuthority[] getAuthorities() { + return (GrantedAuthority[]) authorities.toArray(new GrantedAuthority[0]); + } + + public String getPassword() { + return password; + } + + public String getUsername() { + return username; + } + + public boolean isAccountNonExpired() { + return accountNonExpired; + } + + public boolean isAccountNonLocked() { + return accountNonLocked; + } + + public boolean isCredentialsNonExpired() { + return credentialsNonExpired; + } + + public boolean isEnabled() { + return enabled; + } + + public void addAuthority(GrantedAuthority a) { + authorities.add(a); + } + + public void setAccountNonExpired(boolean accountNonExpired) { + this.accountNonExpired = accountNonExpired; + } + + public void setAccountNonLocked(boolean accountNonLocked) { + this.accountNonLocked = accountNonLocked; + } + + public void setAttributes(Attributes attributes) { + this.attributes = attributes; + } + + public void setAuthorities(GrantedAuthority[] authorities) { + this.authorities = new ArrayList<GrantedAuthority>(Arrays.asList(authorities)); + } + + public void setCredentialsNonExpired(boolean credentialsNonExpired) { + this.credentialsNonExpired = credentialsNonExpired; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public void setPassword(String password) { + this.password = password; + } + + public void setUsername(String username) { + this.username = username; + } +} \ No newline at end of file Property changes on: branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/acegi/shibboleth/ShibbolethUserDetailsImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-10-04 13:18:36
|
Revision: 4808 http://openuss.svn.sourceforge.net/openuss/?rev=4808&view=rev Author: idueppe Date: 2008-10-04 13:18:18 +0000 (Sat, 04 Oct 2008) Log Message: ----------- code polishing Modified Paths: -------------- branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/util/ConversationUtil.java Modified: branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/util/ConversationUtil.java =================================================================== --- branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/util/ConversationUtil.java 2008-09-23 18:21:25 UTC (rev 4807) +++ branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/util/ConversationUtil.java 2008-10-04 13:18:18 UTC (rev 4808) @@ -67,7 +67,7 @@ String url = facesContext.getApplication().getViewHandler().getActionURL(facesContext, viewId); if (parameters != null) { - logger.debug("Try to encodee "+url); + logger.debug("Try to encode "+url); url = ConversationUtil.encodeParameters(url, parameters); logger.debug(url); if (url.length() > 1024) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-23 18:21:43
|
Revision: 4807 http://openuss.svn.sourceforge.net/openuss/?rev=4807&view=rev Author: idueppe Date: 2008-09-23 18:21:25 +0000 (Tue, 23 Sep 2008) Log Message: ----------- fixed apply to course for second time. user security context is now also refreshed, after user security context is reloaded. Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/SecurityServiceImpl.java Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/SecurityServiceImpl.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/SecurityServiceImpl.java 2008-09-23 17:52:35 UTC (rev 4806) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/SecurityServiceImpl.java 2008-09-23 18:21:25 UTC (rev 4807) @@ -189,12 +189,17 @@ SecurityContext securityContext = SecurityContextHolder.getContext(); if (securityContext != null && authority instanceof UserImpl) { Authentication auth = securityContext.getAuthentication(); - if (auth != null && ObjectUtils.equals(auth.getPrincipal(), authority)) { - logger.debug("refresing current user security context."); - final UsernamePasswordAuthenticationToken authentication; - authentication = new UsernamePasswordAuthenticationToken(((UserImpl) authority).getUsername(), - "[Protected]", ((UserImpl) authority).getAuthorities()); - securityContext.setAuthentication(authentication); + if (auth != null) { + Object principal = auth.getPrincipal(); + if (principal instanceof String && StringUtils.equals((String) principal, authority.getName()) || ObjectUtils.equals(principal, authority)) { + logger.debug("refresing current user security context."); + System.out.println("User"+authority.getName()); + final UsernamePasswordAuthenticationToken authentication; + authentication = new UsernamePasswordAuthenticationToken(((UserImpl) authority).getUsername(), "[Protected]", ((UserImpl) authority).getAuthorities()); + securityContext.setAuthentication(authentication); + } else { + logger.debug("not refreshing user security!"); + } } } } @@ -215,6 +220,7 @@ return group; } + @SuppressWarnings("unchecked") private void checkInheritanceConstraints(Authority authority, Group group) { Set grantedGroups = group.getGrantedGroups(); if (grantedGroups.contains(authority)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-23 17:52:52
|
Revision: 4806 http://openuss.svn.sourceforge.net/openuss/?rev=4806&view=rev Author: idueppe Date: 2008-09-23 17:52:35 +0000 (Tue, 23 Sep 2008) Log Message: ----------- synchronized user_password length message with validator setting! Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources.properties branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources_de.properties branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources_es.properties Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources.properties =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources.properties 2008-09-20 19:25:59 UTC (rev 4805) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources.properties 2008-09-23 17:52:35 UTC (rev 4806) @@ -1761,7 +1761,7 @@ user_newslettersubscriptionenabled_hint =Select this option to receive newsletters after bokmarking any courses user_no_image =No Picture user_options_sidebar_header =Options -user_password =Password (at least 5 characters) +user_password =Password (at least 6 characters) user_password_hint =Enter your password here. The password must consist of at least 5 characters. user_passwordconfirm =Confirm password user_portlet_command_login =Log In Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources_de.properties =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources_de.properties 2008-09-20 19:25:59 UTC (rev 4805) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources_de.properties 2008-09-23 17:52:35 UTC (rev 4806) @@ -1726,7 +1726,7 @@ user_newslettersubscriptionenabled_hint =Wenn Sie diese Option anw\xE4hlen, erhalten Sie automatisch Newsletter beim Abonnement eines Kurses user_no_image =Kein Bild user_options_sidebar_header =Optionen -user_password =Kennwort (mindestens 5 Buchstaben) +user_password =Kennwort (mindestens 6 Buchstaben) user_password_hint =Tragen Sie bitte hier Ihr Passwort ein. Das Passwort muss mindestens aus 5 Buchstaben bestehen. user_passwordconfirm =Kennwort (Wiederholung) user_portlet_command_login =Anmelden Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources_es.properties =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources_es.properties 2008-09-20 19:25:59 UTC (rev 4805) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/resources/resources_es.properties 2008-09-23 17:52:35 UTC (rev 4806) @@ -1417,7 +1417,7 @@ user_newslettersubscriptionenabled_hint =Seleccione esta opci\xF3n despu\xE9s de establecer un marcador en un curso user_options_sidebar_header =Opciones. user_password =Contrase\xF1a. -user_password_hint =Introduzca aqu\xED su contrase\xF1a por favor. La contrase\xF1a debe tener al menos 5 caracteres. +user_password_hint =Introduzca aqu\xED su contrase\xF1a por favor. La contrase\xF1a debe tener al menos 6 caracteres. user_passwordconfirm =Confirmar contrase\xF1a. user_portlet_command_login =Entrar user_portlet_command_logout =Salir This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-20 19:26:05
|
Revision: 4805 http://openuss.svn.sourceforge.net/openuss/?rev=4805&view=rev Author: idueppe Date: 2008-09-20 19:25:59 +0000 (Sat, 20 Sep 2008) Log Message: ----------- fix email issue due to dependencies problems with cxf, log4j, mail and geronimo Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-core/pom.xml branches/openuss-plexus-3.1/plexus/plexus-remote/pom.xml branches/openuss-plexus-3.1/pom.xml Modified: branches/openuss-plexus-3.1/plexus/plexus-core/pom.xml =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/pom.xml 2008-09-20 19:25:04 UTC (rev 4804) +++ branches/openuss-plexus-3.1/plexus/plexus-core/pom.xml 2008-09-20 19:25:59 UTC (rev 4805) @@ -240,12 +240,12 @@ <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> - <scope>provided</scope> +<!-- <scope>provided</scope> --> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> - <scope>provided</scope> +<!-- <scope>provided</scope>--> </dependency> <dependency> <groupId>velocity</groupId> Modified: branches/openuss-plexus-3.1/plexus/plexus-remote/pom.xml =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-remote/pom.xml 2008-09-20 19:25:04 UTC (rev 4804) +++ branches/openuss-plexus-3.1/plexus/plexus-remote/pom.xml 2008-09-20 19:25:59 UTC (rev 4805) @@ -15,7 +15,7 @@ <plugins> <plugin> <groupId>org.apache.cxf</groupId> - <artifactId>cxf-codegen-plugin</artifactId> + <artifactId>cxf-java2ws-plugin</artifactId> <version>${cxf.version}</version> <dependencies> <dependency> @@ -23,18 +23,23 @@ <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-frontend-simple</artifactId> + <version>${cxf.version}</version> + </dependency> </dependencies> <executions> <execution> - <id>generate-wsdl</id> - <phase>process-classes</phase> + <id>generate-test-sources</id> + <phase>generate-test-sources</phase> <configuration> - <className> - org.openuss.services.LectureWebService - </className> + <className>org.openuss.services.LectureWebService</className> + <genWsdl>true</genWsdl> + <verbose>true</verbose> </configuration> <goals> - <goal>java2wsdl</goal> + <goal>java2ws</goal> </goals> </execution> </executions> @@ -106,6 +111,10 @@ <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> </dependency> + <dependency> + <groupId>asm</groupId> + <artifactId>asm</artifactId> + </dependency> </dependencies> </project> \ No newline at end of file Modified: branches/openuss-plexus-3.1/pom.xml =================================================================== --- branches/openuss-plexus-3.1/pom.xml 2008-09-20 19:25:04 UTC (rev 4804) +++ branches/openuss-plexus-3.1/pom.xml 2008-09-20 19:25:59 UTC (rev 4805) @@ -298,11 +298,13 @@ <enabled>true</enabled> </releases> </repository> + <!-- <repository> <id>apache.incubation.releases</id> <name>Apache Incubating Release Distribution Repository</name> <url>http://people.apache.org/repo/m2-incubating-repository</url> </repository> + --> <repository> <id>java-net</id> <name>Java.Net</name> @@ -544,8 +546,20 @@ <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>${hibernate.version}</version> + <exclusions> + <exclusion> + <!-- remove cglib and replace it with cglib-nodep because of asm 1.5.3 and asm 2.2.3 --> + <groupId>cglib</groupId> + <artifactId>cglib</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> + <groupId>asm</groupId> + <artifactId>asm</artifactId> + <version>3.1</version> + </dependency> + <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.3</version> @@ -947,51 +961,151 @@ <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-core</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-simple</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-databinding-aegis</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-local</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-jms</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-management</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-common-utilities</artifactId> <version>${cxf.version}</version> + <exclusions> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </exclusion> + <exclusion> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> @@ -1037,7 +1151,7 @@ <myfaces.version>1.1.5</myfaces.version> <shale.version>1.0.4</shale.version> <spring.version>2.0.8</spring.version> - <cxf.version>2.0.4-incubator</cxf.version> + <cxf.version>2.1.2</cxf.version> <hibernate.version>3.2.6.ga</hibernate.version> </properties> </project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-20 19:25:27
|
Revision: 4804 http://openuss.svn.sourceforge.net/openuss/?rev=4804&view=rev Author: idueppe Date: 2008-09-20 19:25:04 +0000 (Sat, 20 Sep 2008) Log Message: ----------- bug fix - wiki-prefix wasn't case sensitive Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/servlets/FCKServlet.java Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/servlets/FCKServlet.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/servlets/FCKServlet.java 2008-09-20 19:23:53 UTC (rev 4803) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/servlets/FCKServlet.java 2008-09-20 19:25:04 UTC (rev 4804) @@ -44,7 +44,9 @@ public class FCKServlet extends org.fckfaces.util.Servlet { private static final long serialVersionUID = -945294405900760483L; - private static final String WIKI_PREFIX = "/FCKeditorWiki/"; + private static final long lastModified = System.currentTimeMillis(); + + private static final String WIKI_PREFIX = "/FCKEditorWiki/"; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { @@ -80,23 +82,33 @@ } } - private void setHeaders(final String uri, final File file, - final HttpServletResponse response) { - response.setHeader("Cache-Control", "public"); - response.setHeader("Last-Modified", calcModify()); + private void setHeaders(final String uri, final File file, final HttpServletResponse response) { + if (uri.endsWith(".jsf") || uri.endsWith(".html")) { + response.setContentType("text/html;charset=UTF-8"); + } else { + response.setHeader("Cache-Control", "public"); + response.setHeader("Last-Modified", calcModify()); + } if (uri.endsWith(".css")) { - response.setContentType("text/css;"); + response.setContentType("text/css;charset=UTF-8"); } else if (uri.endsWith(".js")) { - response.setContentType("text/javascript;"); + response.setContentType("text/javascript;charset=UTF-8"); } else if (uri.endsWith(".gif")) { response.setContentType("image/gif;"); + } else if (uri.endsWith(".xml")) { + response.setContentType("text/xml;charset=UTF-8"); } response.setContentLength((int) file.length()); } + + @Override + protected long getLastModified(HttpServletRequest req) { + return lastModified; + } private static final String calcModify() { - Date mod = new Date(); + Date mod = new Date(lastModified); SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z",Locale.ENGLISH); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); return sdf.format(mod); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-20 19:24:26
|
Revision: 4803 http://openuss.svn.sourceforge.net/openuss/?rev=4803&view=rev Author: idueppe Date: 2008-09-20 19:23:53 +0000 (Sat, 20 Sep 2008) Log Message: ----------- code polishing Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/CourseServiceImpl.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/UniversityServiceMock.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/MessageSendingCommand.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/TemplateMessageImpl.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/TemplateMessagePreparator.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/ldap/LdapConfigurationServiceDummy.java branches/openuss-plexus-3.1/plexus/plexus-core/src/main/resources/applicationContext-quartz.xml branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/messaging/MessageSendingCommandTest.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/feeds/GlobalFeed.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/InstituteCourseTypesPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/InstitutePage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/UniversitiesWelcomePage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/ExportedSubscribersPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterMainPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterNewMailPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterSubscribersPage.java Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/CourseServiceImpl.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/CourseServiceImpl.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/CourseServiceImpl.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -511,7 +511,6 @@ } } - @SuppressWarnings("unchecked") @Override protected void handleApplyUser(CourseInfo courseInfo, UserInfo userInfo) throws Exception { handleApplyUser(courseInfo, userInfo, null); Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/UniversityServiceMock.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/UniversityServiceMock.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/lecture/UniversityServiceMock.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -15,7 +15,7 @@ return null; } - public List findPeriodsByUniversityAndActivation(Long universityId, boolean active) { + public List<Period> findPeriodsByUniversityAndActivation(Long universityId, boolean active) { return null; } @@ -27,7 +27,6 @@ @SuppressWarnings( { "unchecked" }) public java.util.List findUniversitiesByUser(Long userId) { - //TODO: Implement me! return null; } @@ -219,15 +218,15 @@ return periods; } - public List findUniversitiesByMemberAndEnabled(Long userId, boolean enabled) { + public List<Period> findUniversitiesByMemberAndEnabled(Long userId, boolean enabled) { return null; } - public List findUniversitiesByTypeAndEnabled(UniversityType universityType, boolean enabled) { + public List<Period> findUniversitiesByTypeAndEnabled(UniversityType universityType, boolean enabled) { return null; } - public List findPeriodsByInstituteWithCoursesOrActive(InstituteInfo instituteInfo) { + public List<Period> findPeriodsByInstituteWithCoursesOrActive(InstituteInfo instituteInfo) { return null; } @@ -241,7 +240,7 @@ public void setUniversityStatus(Long universityId, boolean status) { } - public List findPeriodsByUniversityWithCourses(Long universityId) { + public List<Period> findPeriodsByUniversityWithCourses(Long universityId) { return null; } Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/MessageSendingCommand.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/MessageSendingCommand.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/MessageSendingCommand.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -131,6 +131,7 @@ } } + @SuppressWarnings("unchecked") private Set<String> extractInvalidEMails(MailSendException mse) { Set<String> invalidAddresses = new HashSet<String>(); for (SendFailedException sfe : (Collection<SendFailedException>) mse.getFailedMessages().values()) { Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/TemplateMessageImpl.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/TemplateMessageImpl.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/TemplateMessageImpl.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -73,7 +73,7 @@ } @Override - public Map getParameterMap() { + public Map<String, String> getParameterMap() { Map<String, String> params = new HashMap<String, String>(); for (TemplateParameter param : getParameters()) { params.put(param.getName(), param.getValue()); Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/TemplateMessagePreparator.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/TemplateMessagePreparator.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/messaging/TemplateMessagePreparator.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -4,6 +4,7 @@ import javax.mail.internet.MimeMessage; +import org.apache.log4j.Logger; import org.apache.velocity.app.VelocityEngine; import org.springframework.context.MessageSource; import org.springframework.context.MessageSourceAware; @@ -17,6 +18,8 @@ * @author Ingo Dueppe */ public class TemplateMessagePreparator extends MessagePreparator implements MessageSourceAware { + + private static final Logger logger = Logger.getLogger(TemplateMessagePreparator.class); private MessageSource messageSource; @@ -28,11 +31,12 @@ private static final String TEMPLATE_SUFFIX = ".vsl"; public void prepare(MimeMessage mimeMessage) throws Exception { - MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); + MimeMessageHelper message = new MimeMessageHelper(mimeMessage, false, "UTF-8"); message.setTo(recipient.getEmail()); - message.setSubject(localizedSubject()); + String subject = localizedSubject(); + logger.trace("subject: "+subject); + message.setSubject(subject); message.setFrom(fromAddress, localeSenderName()); - LocalizedResourceHelper helper = new LocalizedResourceHelper(); Resource resource = helper.findLocalizedResource(TEMPLATE_PREFIX+templateMessage.getTemplate(), TEMPLATE_SUFFIX, new Locale(recipient.getLocale())); @@ -41,8 +45,9 @@ velocityEngine, TEMPLATE_PREFIX+resource.getFilename(), templateMessage.getParameterMap()); + + logger.trace("body: "+text); message.setText(text, true); - if (sendDate != null) { message.setSentDate(sendDate); } Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/ldap/LdapConfigurationServiceDummy.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/ldap/LdapConfigurationServiceDummy.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/java/org/openuss/security/ldap/LdapConfigurationServiceDummy.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -7,8 +7,7 @@ public class LdapConfigurationServiceDummy implements LdapConfigurationService { - - public List getEnabledLdapServerConfigurations() { + public List<LdapServerConfiguration> getEnabledLdapServerConfigurations() { List<LdapServerConfiguration> ldapServerConfigurations = new Vector<LdapServerConfiguration>(); LdapServerConfiguration ldapServerConfiguration = new LdapServerConfiguration(); ldapServerConfiguration.setAuthenticationDomainId(42L); @@ -20,15 +19,15 @@ ldapServerConfiguration.setLdapServerType(LdapServerType.ACTIVE_DIRECTORY); ldapServerConfiguration.setPort(389); ldapServerConfiguration.setProviderUrl("ldap://wwusv1.uni-muenster.de"); - ldapServerConfiguration.setRoleAttributeKeys(new String[]{"memberOf"}); + ldapServerConfiguration.setRoleAttributeKeys(new String[] { "memberOf" }); ldapServerConfiguration.setRootDn("dc=uni-muenster,dc=de"); ldapServerConfiguration.setUseConnectionPool(false); ldapServerConfiguration.setUseLdapContext(true); - ldapServerConfiguration.setUserDnPatterns(new String[]{"cn={0},ou=projekt-benutzer,dc=uni-muenster,dc=de"}); - ldapServerConfiguration.setUsernameKey("cn"); - + ldapServerConfiguration.setUserDnPatterns(new String[] { "cn={0},ou=projekt-benutzer,dc=uni-muenster,dc=de" }); + ldapServerConfiguration.setUsernameKey("cn"); + ldapServerConfigurations.add(ldapServerConfiguration); - + ldapServerConfiguration = new LdapServerConfiguration(); ldapServerConfiguration.setAuthenticationDomainId(42L); ldapServerConfiguration.setAuthenticationDomainName("defaultdomain"); @@ -39,259 +38,175 @@ ldapServerConfiguration.setLdapServerType(LdapServerType.OTHER); ldapServerConfiguration.setPort(10389); ldapServerConfiguration.setProviderUrl("ldap://localhost"); - ldapServerConfiguration.setRoleAttributeKeys(new String[]{"memberOf"}); + ldapServerConfiguration.setRoleAttributeKeys(new String[] { "memberOf" }); ldapServerConfiguration.setRootDn("dc=example,dc=com"); ldapServerConfiguration.setUseConnectionPool(false); ldapServerConfiguration.setUseLdapContext(true); - ldapServerConfiguration.setUserDnPatterns(new String[]{"uid={0},ou=myunit"}); + ldapServerConfiguration.setUserDnPatterns(new String[] { "uid={0},ou=myunit" }); ldapServerConfiguration.setUsernameKey("uid"); ldapServerConfigurations.add(ldapServerConfiguration); - + return ldapServerConfigurations; } - public void addDomainToAttributeMapping(AuthenticationDomainInfo domain, - AttributeMappingInfo mapping) { - // TODO Auto-generated method stub - + public void addDomainToAttributeMapping(AuthenticationDomainInfo domain, AttributeMappingInfo mapping) { } - public void addRoleAttributeKeyToAttributeMapping( - RoleAttributeKeyInfo roleAttributeKeyinfo, + public void addRoleAttributeKeyToAttributeMapping(RoleAttributeKeyInfo roleAttributeKeyinfo, AttributeMappingInfo attributeMappingInfo) { - // TODO Auto-generated method stub - } - public void addServerToDomain(LdapServerInfo server, - AuthenticationDomainInfo domain) { - // TODO Auto-generated method stub - + public void addServerToDomain(LdapServerInfo server, AuthenticationDomainInfo domain) { } - public void addUserDnPatternToLdapServer( - UserDnPatternInfo userDnPatternInfo, LdapServerInfo ldapServerInfo) { - // TODO Auto-generated method stub - + public void addUserDnPatternToLdapServer(UserDnPatternInfo userDnPatternInfo, LdapServerInfo ldapServerInfo) { } - public AttributeMappingInfo createAttributeMapping( - AttributeMappingInfo attributeMapping) { - // TODO Auto-generated method stub + public AttributeMappingInfo createAttributeMapping(AttributeMappingInfo attributeMapping) { return null; } public AuthenticationDomainInfo createDomain(AuthenticationDomainInfo domain) { - // TODO Auto-generated method stub return null; } public LdapServerInfo createLdapServer(LdapServerInfo ldapServer) { - // TODO Auto-generated method stub return null; } - public RoleAttributeKeyInfo createRoleAttributeKey( - RoleAttributeKeyInfo roleAttributeKey) { - // TODO Auto-generated method stub + public RoleAttributeKeyInfo createRoleAttributeKey(RoleAttributeKeyInfo roleAttributeKey) { return null; } public UserDnPatternInfo createUserDnPattern(UserDnPatternInfo userDnPattern) { - // TODO Auto-generated method stub return null; } public void deleteAttributeMapping(AttributeMappingInfo attributeMapping) { - // TODO Auto-generated method stub - } public void deleteDomain(AuthenticationDomainInfo domain) { - // TODO Auto-generated method stub - } public void deleteLdapServer(LdapServerInfo ldapServer) { - // TODO Auto-generated method stub - } public void deleteRoleAttributeKey(RoleAttributeKeyInfo roleAttributeKey) { - // TODO Auto-generated method stub - } public void deleteUserDnPattern(UserDnPatternInfo userDnPattern) { - // TODO Auto-generated method stub - } - public List getAllAttributeMappings() { - // TODO Auto-generated method stub + public List<AttributeMapping> getAllAttributeMappings() { return null; } - public List getAllDomains() { - // TODO Auto-generated method stub + public List<?> getAllDomains() { return null; } - public List getAllLdapServers() { - // TODO Auto-generated method stub + public List<LdapServer> getAllLdapServers() { return null; } - public List getAllRoleAttributeKeys() { - // TODO Auto-generated method stub + public List<RoleAttributeKey> getAllRoleAttributeKeys() { return null; } - public List getAllRoleAttributeKeysByMapping( - AttributeMappingInfo attributeMappingInfo) { - // TODO Auto-generated method stub + public List<RoleAttributeKey> getAllRoleAttributeKeysByMapping(AttributeMappingInfo attributeMappingInfo) { return null; } - public List getAllUserDnPatterns() { - // TODO Auto-generated method stub + public List<UserDnPattern> getAllUserDnPatterns() { return null; } - public List getAllUserDnPatternsByLdapServer(LdapServerInfo ldapServerInfo) { - // TODO Auto-generated method stub + public List<UserDnPattern> getAllUserDnPatternsByLdapServer(LdapServerInfo ldapServerInfo) { return null; } public AuthenticationDomainInfo getDomainById(Long authDomainId) { - // TODO Auto-generated method stub return null; } - public List getLdapServersByDomain(AuthenticationDomainInfo domain) { - // TODO Auto-generated method stub + public List<LdapServer> getLdapServersByDomain(AuthenticationDomainInfo domain) { return null; } public boolean isValidURL(String url) { - // TODO Auto-generated method stub return false; } - public void removeDomainFromAttributeMapping( - AuthenticationDomainInfo domain, AttributeMappingInfo mapping) { - // TODO Auto-generated method stub - + public void removeDomainFromAttributeMapping(AuthenticationDomainInfo domain, AttributeMappingInfo mapping) { } - public void removeRoleAttributeKeyFromAttributeMapping( - RoleAttributeKeyInfo roleAttributeKeyInfo, + public void removeRoleAttributeKeyFromAttributeMapping(RoleAttributeKeyInfo roleAttributeKeyInfo, AttributeMappingInfo attributeMappingInfo) { - // TODO Auto-generated method stub - + } - public void removeServerFromDomain(LdapServerInfo server, - AuthenticationDomainInfo domian) { - // TODO Auto-generated method stub - + public void removeServerFromDomain(LdapServerInfo server, AuthenticationDomainInfo domian) { + } public void saveAttributeMapping(AttributeMappingInfo attributeMapping) { - // TODO Auto-generated method stub - } public void saveDomain(AuthenticationDomainInfo domain) { - // TODO Auto-generated method stub - } public void saveLdapServer(LdapServerInfo ldapServer) { - // TODO Auto-generated method stub - } public void saveRoleAttributeKey(RoleAttributeKeyInfo roleAttributeKey) { - // TODO Auto-generated method stub - } public void saveUserDnPattern(UserDnPatternInfo userDnPattern) { - // TODO Auto-generated method stub - } - - - - public List getAllUserDnPatternsByLdapServer( - UserDnPatternInfo userDnPatternInfo, LdapServerInfo ldapServerInfo) { - // TODO Auto-generated method stub + public List<UserDnPattern> getAllUserDnPatternsByLdapServer(UserDnPatternInfo userDnPatternInfo, LdapServerInfo ldapServerInfo) { return null; } + public void removeUserDnPatternFromLdapServer(UserDnPatternInfo userDnPatternInfo, LdapServerInfo ldapServerInfo) { - - public void removeUserDnPatternFromLdapServer( - UserDnPatternInfo userDnPatternInfo, LdapServerInfo ldapServerInfo) { - // TODO Auto-generated method stub - } public AttributeMappingInfo getAttributeMappingById(Long id) { - // TODO Auto-generated method stub return null; } public LdapServerInfo getLdapServerById(Long id) { - // TODO Auto-generated method stub return null; } public RoleAttributeKeyInfo getRoleAttributeKeyById(Long id) { - // TODO Auto-generated method stub return null; } public UserDnPatternInfo getUserDnPatternById(Long id) { - // TODO Auto-generated method stub return null; } public boolean isValidRoleAttributeKey(RoleAttributeKeyInfo roleAttributeKey) { - // TODO Auto-generated method stub return false; } public boolean isValidUserDnPattern(UserDnPatternInfo userDnPattern) { - // TODO Auto-generated method stub return false; } - public boolean isValidAttributeMappingName( - AttributeMappingInfo attributeMappingInfo) { - // TODO Auto-generated method stub + public boolean isValidAttributeMappingName(AttributeMappingInfo attributeMappingInfo) { return false; } - public boolean isValidAuthenticationDomainName( - AuthenticationDomainInfo authenticationDomainInfo) { - // TODO Auto-generated method stub + public boolean isValidAuthenticationDomainName(AuthenticationDomainInfo authenticationDomainInfo) { return false; } public boolean isValidURL(String[] schemes, String url) { - // TODO Auto-generated method stub return false; } - - - - - - - } Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/main/resources/applicationContext-quartz.xml =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/main/resources/applicationContext-quartz.xml 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/main/resources/applicationContext-quartz.xml 2008-09-20 19:23:53 UTC (rev 4803) @@ -12,7 +12,7 @@ <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="applicationContextSchedulerContextKey" value="applicationContext"/> <property name="autoStartup" value="true"/> - <property name="startupDelay" value="180"/> + <property name="startupDelay" value="30"/> <property name="waitForJobsToCompleteOnShutdown" value="true"/> <property name="overwriteExistingJobs" value="true"/> <property name="transactionManager" ref="transactionManager"/> Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/messaging/MessageSendingCommandTest.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/messaging/MessageSendingCommandTest.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/messaging/MessageSendingCommandTest.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -48,7 +48,7 @@ message.setTemplate("password"); message.setSenderName("OPENUSS-PLEXUS-UNIT-TEST"); message.addParameter("username", ">username<"); - message.addParameter("link",">link<"); + message.addParameter("passwordresetlink",">link<"); job.setMessage(message); createRecipients(job); return job; Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/feeds/GlobalFeed.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/feeds/GlobalFeed.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/feeds/GlobalFeed.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -31,6 +31,7 @@ private NewsController newsController; + @SuppressWarnings("unchecked") private FeedWrapper buildFeedArray() { final List<SyndEntry> entries = new ArrayList<SyndEntry>(); Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/InstituteCourseTypesPage.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/InstituteCourseTypesPage.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/InstituteCourseTypesPage.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -50,7 +50,6 @@ private CourseTypeInfo courseTypeInfo; @Prerender - @SuppressWarnings( { "unchecked" }) public void prerender() throws Exception { super.prerender(); if (isRedirected()){ Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/InstitutePage.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/InstitutePage.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/InstitutePage.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -106,6 +106,7 @@ addBreadCrumbs(); } + @SuppressWarnings("unchecked") private void checkForApplicationMessage() { // FIXME This should be done within the view. Boolean hasPermission = securityService.hasPermission(instituteInfo, new Integer[] { LectureAclEntry.INSTITUTE_ADMINISTRATION }); Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/UniversitiesWelcomePage.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/UniversitiesWelcomePage.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/lecture/UniversitiesWelcomePage.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -46,6 +46,7 @@ private List<UniversityInfo> universities; + @SuppressWarnings("unchecked") public List<UniversityInfo> getUniversities() { if (universities == null) { universities = getUniversityService().findAllUniversities(); Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/ExportedSubscribersPage.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/ExportedSubscribersPage.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/ExportedSubscribersPage.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -19,7 +19,6 @@ private String subscribersComma; - @SuppressWarnings("unchecked") @Prerender public void prerender() throws Exception { super.prerender(); Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterMainPage.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterMainPage.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterMainPage.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -26,7 +26,6 @@ private NewsletterDataProvider data = new NewsletterDataProvider(); - @SuppressWarnings("unchecked") @Prerender public void prerender() throws Exception { super.prerender(); Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterNewMailPage.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterNewMailPage.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterNewMailPage.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -22,7 +22,6 @@ @View public class NewsletterNewMailPage extends AbstractNewsletterPage{ - @SuppressWarnings("unchecked") @Prerender public void prerender() throws Exception { super.prerender(); Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterSubscribersPage.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterSubscribersPage.java 2008-09-19 17:46:07 UTC (rev 4802) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/mail/NewsletterSubscribersPage.java 2008-09-20 19:23:53 UTC (rev 4803) @@ -25,7 +25,6 @@ private SubscriberDataProvider data = new SubscriberDataProvider(); - @SuppressWarnings("unchecked") @Prerender public void prerender() throws Exception { super.prerender(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-18 16:23:44
|
Revision: 4799 http://openuss.svn.sourceforge.net/openuss/?rev=4799&view=rev Author: idueppe Date: 2008-09-18 23:23:54 +0000 (Thu, 18 Sep 2008) Log Message: ----------- reduced log level Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/WEB-INF/log4j.properties Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/WEB-INF/log4j.properties =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/WEB-INF/log4j.properties 2008-09-18 23:23:19 UTC (rev 4798) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/WEB-INF/log4j.properties 2008-09-18 23:23:54 UTC (rev 4799) @@ -8,27 +8,29 @@ log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p %c{1}. %m%n -log4j.logger.com.sun.facelets=ERROR -log4j.logger.net.sf.ehcache=TRACE -log4j.logger.org.acegisecurity=ERROR -log4j.logger.org.apache.commons=ERROR -log4j.logger.org.apache.myfaces=ERROR -log4j.logger.org.apache.shale=ERROR -log4j.logger.org.hibernate=INFO -log4j.logger.org.hibernate.SQL=DEBUG -log4j.logger.org.hibernate.cache=TRACE +log4j.logger.com.sun.facelets=WARN +log4j.logger.javax.mail=WARN +log4j.logger.net.sf.ehcache=WARN +log4j.logger.org.acegisecurity=WARN +log4j.logger.org.apache.commons=WARN +log4j.logger.org.apache.myfaces=WARN +log4j.logger.org.apache.shale=WARN +log4j.logger.org.hibernate=WARN +log4j.logger.org.hibernate.SQL=WARN +log4j.logger.org.hibernate.cache=WARN log4j.logger.org.hibernate.hql.ast.AST=WARN -log4j.logger.org.hibernate.jdbc=INFO -log4j.logger.org.hibernate.pretty=DEBUG +log4j.logger.org.hibernate.jdbc=WARN +log4j.logger.org.hibernate.pretty=WARN log4j.logger.org.hibernate.secure=WARN log4j.logger.org.hibernate.tool.hbm2ddl=WARN -log4j.logger.org.hibernate.transaction=INFO -log4j.logger.org.hibernate.type=INFO +log4j.logger.org.hibernate.transaction=WARN +log4j.logger.org.hibernate.type=WARN log4j.logger.org.openuss=DEBUG -log4j.logger.org.openuss.commands=DEBUG +log4j.logger.org.openuss.commands=TRACE log4j.logger.org.openuss.framework=TRACE -log4j.logger.org.openuss.framework.jsfcontrols=INFO -log4j.logger.org.openuss.framework.web.facelets=INFO -log4j.logger.org.quartz=ERROR -log4j.logger.org.springframework=ERROR +log4j.logger.org.openuss.framework.jsfcontrols=TRACE +log4j.logger.org.openuss.framework.web.facelets=TRACE +log4j.logger.org.quartz=WARN +log4j.logger.org.springframework=WARN +log4j.logger.org.springframework.mail=DEBUG log4j.rootCategory=INFO, stdout, R This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-18 16:23:08
|
Revision: 4798 http://openuss.svn.sourceforge.net/openuss/?rev=4798&view=rev Author: idueppe Date: 2008-09-18 23:23:19 +0000 (Thu, 18 Sep 2008) Log Message: ----------- update ehcache to 1.5.0 version Modified Paths: -------------- branches/openuss-plexus-3.1/pom.xml Modified: branches/openuss-plexus-3.1/pom.xml =================================================================== --- branches/openuss-plexus-3.1/pom.xml 2008-09-18 23:22:17 UTC (rev 4797) +++ branches/openuss-plexus-3.1/pom.xml 2008-09-18 23:23:19 UTC (rev 4798) @@ -770,7 +770,7 @@ <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> - <version>1.4.1</version> + <version>1.5.0</version> </dependency> <dependency> <groupId>log4j</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-18 16:22:10
|
Revision: 4797 http://openuss.svn.sourceforge.net/openuss/?rev=4797&view=rev Author: idueppe Date: 2008-09-18 23:22:17 +0000 (Thu, 18 Sep 2008) Log Message: ----------- bugfix - an actionListener instead of an action method should be used if working with immediate commandButtons. Otherwise the form data of not as immediate marked input controlls will be reset. Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/papersubmission/PaperSubmissionExamPage.java branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/views/secured/papersubmission/examedit.xhtml Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/papersubmission/PaperSubmissionExamPage.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/papersubmission/PaperSubmissionExamPage.java 2008-09-18 23:17:35 UTC (rev 4796) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/papersubmission/PaperSubmissionExamPage.java 2008-09-18 23:22:17 UTC (rev 4797) @@ -8,6 +8,7 @@ import java.util.List; import javax.faces.component.UIData; +import javax.faces.event.ActionEvent; import org.apache.commons.collections.comparators.ComparatorChain; import org.apache.commons.lang.StringUtils; @@ -246,7 +247,7 @@ return Constants.SUCCESS; } - public String addAttachment() throws IOException{ + public void addAttachment(ActionEvent actionEvent) throws IOException{ LOGGER.debug("papersubmission attachment add"); if (examInfo.getAttachments() == null) { examInfo.setAttachments(new ArrayList<FileInfo>()); @@ -258,10 +259,8 @@ examInfo.getAttachments().add(fileInfo); } else { addError(i18n("papersubmission_filename_already_exists")); - return Constants.FAILURE; } } - return Constants.SUCCESS; } private boolean validFileName(String fileName) { @@ -326,7 +325,6 @@ private DataPage<ExamInfo> page; @Override - @SuppressWarnings( { "unchecked" }) // NOPMD by Administrator on 13.03.08 12:59 public DataPage<ExamInfo> getDataPage(int startRow, int pageSize) { if (page == null) { Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/views/secured/papersubmission/examedit.xhtml =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/views/secured/papersubmission/examedit.xhtml 2008-09-18 23:17:35 UTC (rev 4796) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/webapp/views/secured/papersubmission/examedit.xhtml 2008-09-18 23:22:17 UTC (rev 4797) @@ -12,13 +12,12 @@ xmlns:plexus="http://www.openuss.org/plexus/jsf"> <h:form id="paperForm" enctype="multipart/form-data" rendered="#{views$secured$papersubmission$examlist.editing}"> - - <o:block label="#{msg.papersubmission_exam_edit_header}" styleClass="form_box"> - <o:input id="name" forceId="true" label="#{msg.papersubmission_exam_edit_name}" entity="examInfo" property="name" required="true" maxlength="100"/> + <o:block label="#{msg.papersubmission_exam_edit_header}" styleClass="form_box"> + <o:input id="name" label="#{msg.papersubmission_exam_edit_name}" entity="examInfo" property="name" required="true" maxlength="100"/> <h:outputText value="#{msg.papersubmission_exam_edit_description}" styleClass="field_label" /> <div class="content_iframe"> - <fck:editor value="#{examInfo.description}" id="textEditor" toolbarSet="Basic" maxlength="250" height="200"> + <fck:editor value="#{examInfo.description}" id="textEditor" toolbarSet="Basic" maxlength="250" height="200" > <f:converter converterId="xssFilter"/> </fck:editor> </div> @@ -64,7 +63,7 @@ <t:commandButton id="addAttachment" forceId="true" value="#{msg.papersubmission_exam_edit_add_attachment}" - action="#{views$secured$papersubmission$examlist.addAttachment}" + actionListener="#{views$secured$papersubmission$examlist.addAttachment}" title="#{msg.papersubmission_exam_edit_add_attachment}" immediate="true" styleClass="button_add"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-18 16:17:24
|
Revision: 4796 http://openuss.svn.sourceforge.net/openuss/?rev=4796&view=rev Author: idueppe Date: 2008-09-18 23:17:35 +0000 (Thu, 18 Sep 2008) Log Message: ----------- code polishing Modified Paths: -------------- branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/util/ConversationUtil.java Modified: branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/util/ConversationUtil.java =================================================================== --- branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/util/ConversationUtil.java 2008-09-18 18:20:06 UTC (rev 4795) +++ branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/util/ConversationUtil.java 2008-09-18 23:17:35 UTC (rev 4796) @@ -67,7 +67,7 @@ String url = facesContext.getApplication().getViewHandler().getActionURL(facesContext, viewId); if (parameters != null) { - logger.debug("Try to encode "+url); + logger.debug("Try to encodee "+url); url = ConversationUtil.encodeParameters(url, parameters); logger.debug(url); if (url.length() > 1024) { @@ -140,7 +140,6 @@ * @return url+parameters */ public static String encodeParameters(String url, Map<String, Object> parameters) { - logger.debug("Starting method encodeParameters"); if (parameters.isEmpty()) return url; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-18 11:19:56
|
Revision: 4795 http://openuss.svn.sourceforge.net/openuss/?rev=4795&view=rev Author: idueppe Date: 2008-09-18 18:20:06 +0000 (Thu, 18 Sep 2008) Log Message: ----------- code polishing Modified Paths: -------------- branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/pages/Pages.java Modified: branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/pages/Pages.java =================================================================== --- branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/pages/Pages.java 2008-09-13 09:14:19 UTC (rev 4794) +++ branches/openuss-plexus-3.1/framework/core/src/main/java/org/openuss/framework/web/jsf/pages/Pages.java 2008-09-18 18:20:06 UTC (rev 4795) @@ -70,8 +70,8 @@ } } - // Uncomment this for debug the web layer - this enables to edit pages.xml without restart tomcat - instance = new Pages(); + // Uncomment this for debug the web layer - this enables to edit pages.xml without to restart tomcat + // instance = new Pages(); return instance; } @@ -113,6 +113,7 @@ * * @param facesContext */ + @SuppressWarnings("unchecked") public void applyRequestParameterValues(FacesContext facesContext) { String viewId = facesContext.getViewRoot().getViewId(); if (logger.isDebugEnabled()) { @@ -171,6 +172,7 @@ * @param viewId the JSF view id * @return a map of page parameter name to String value */ + @SuppressWarnings("unchecked") public Map<String, Object> getConvertedParameters(FacesContext facesContext, String viewId) { return getConvertedParameters(facesContext, viewId, Collections.EMPTY_SET); } @@ -262,7 +264,6 @@ try { SAXReader saxReader = new SAXReader(); saxReader.setMergeAdjacentText(true); - // TODO should be switch on for validation! saxReader.setValidation(false); Document doc = saxReader.read(stream); return doc.getRootElement(); @@ -275,6 +276,7 @@ * @param stream * intputstream to a pages.xml file */ + @SuppressWarnings("unchecked") private void parse(InputStream stream) { Element root = getDocumentRoot(stream); List<Element> elements = root.elements("page"); @@ -318,6 +320,7 @@ parseSecurityConstraints(element, page); } + @SuppressWarnings("unchecked") private void parseSecurityConstraints(Element element, Page page) { List<Element> elements = element.elements("securityConstraint"); for(Element constraintElement : elements) { @@ -354,6 +357,7 @@ * qparam element page element * @param page object */ + @SuppressWarnings("unchecked") private void parseParameters(Element element, Page page) { List<Element> elements = element.elements("parameter"); for (Element parameterElement : elements) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-13 09:14:12
|
Revision: 4794 http://openuss.svn.sourceforge.net/openuss/?rev=4794&view=rev Author: idueppe Date: 2008-09-13 09:14:19 +0000 (Sat, 13 Sep 2008) Log Message: ----------- Fixed rememberme cookie handling after logout Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/security/AuthenticationController.java Modified: branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/security/AuthenticationController.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/security/AuthenticationController.java 2008-09-13 07:18:25 UTC (rev 4793) +++ branches/openuss-plexus-3.1/plexus/plexus-web/src/main/java/org/openuss/web/security/AuthenticationController.java 2008-09-13 09:14:19 UTC (rev 4794) @@ -1,4 +1,4 @@ - package org.openuss.web.security; +package org.openuss.web.security; import java.io.IOException; @@ -27,6 +27,7 @@ import org.acegisecurity.ui.webapp.AuthenticationProcessingFilter; import org.acegisecurity.userdetails.UsernameNotFoundException; import org.acegisecurity.userdetails.ldap.LdapUserDetails; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.shale.tiger.managed.Bean; import org.apache.shale.tiger.managed.Property; @@ -44,14 +45,15 @@ import org.openuss.web.migration.MigrationUtility; import org.openuss.web.statistics.OnlineSessionTracker; - /** - * AuthenticationController handles all processes around user login, logout, and forgotten passwords. + * AuthenticationController handles all processes around user login, logout, and + * forgotten passwords. + * * @author Ingo Dueppe * @author Sebastian Roekens - * + * */ -@Bean(name="authenticationController", scope=Scope.REQUEST) +@Bean(name = "authenticationController", scope = Scope.REQUEST) @View public class AuthenticationController extends BasePage { @@ -59,45 +61,47 @@ public static final String LOGIN = "login"; public static final String LOGOUT = "logout"; - + private String username; private String password; private String email; - + private boolean rememberMe; - @Property(value="#{authenticationManager}") + @Property(value = "#{authenticationManager}") private AuthenticationManager authenticationManager; - - @Property(value="#{rememberMeServices}") + + @Property(value = "#{rememberMeServices}") private RememberMeServices rememberMeServices; - - @Property(value="#{securityService}") + + @Property(value = "#{securityService}") private SecurityService securityService; - - @Property(value="#{sessionTracker}") + + @Property(value = "#{sessionTracker}") private OnlineSessionTracker sessionTracker; - - @Property(value="#{centralUserData}") + + @Property(value = "#{centralUserData}") private CentralUserData centralUserData; - - @Property(value="#{migrationUtility}") + + @Property(value = "#{migrationUtility}") MigrationUtility migrationUtility; - + public AuthenticationController() { logger.debug(" created"); } - + /** * Login a new user. + * * @return Outcome */ public String login() { final HttpServletRequest request = getRequest(); final HttpServletResponse response = getResponse(); final HttpSession session = getSession(); - - // Delete domain information from username, so that users can enter domain information during login + + // Delete domain information from username, so that users can enter + // domain information during login username = SecurityDomainUtility.extractUsername(username); final UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(username, password); @@ -108,68 +112,83 @@ try { // Perform authentication auth = getAuthenticationManager().authenticate(authRequest); - - // Handle LDAP user -> LDAP user has been successfully authenticated. + + // Handle LDAP user -> LDAP user has been successfully + // authenticated. if (auth.getPrincipal() instanceof LdapUserDetails) { mapLdapUserAttributesToCentralUserField((LdapUserDetails) auth.getPrincipal()); - + UserInfo user = securityService.getUserByName(centralUserData.getUsername()); - + if (user != null) { - /* OpenUSS profile of central user found. - * 1. Check profile, whether user is locally enabled and not locked or credentials or account is expired. - * 2. Either throw corresponding exceptions or generate authentication object, as if user had used a local login. - * 3. Handle "local user". + /* + * OpenUSS profile of central user found. 1. Check profile, + * whether user is locally enabled and not locked or + * credentials or account is expired. 2. Either throw + * corresponding exceptions or generate authentication + * object, as if user had used a local login. 3. Handle + * "local user". */ AuthenticationUtils.checkLocallyAllowanceToLogin(user); migrationUtility.reconcile(user, false); // FIXME refactor to business layer String[] authorities = securityService.getGrantedAuthorities(user); - auth = AuthenticationUtils.createSuccessAuthentication(authRequest, new UserInfoDetailsAdapter(user, authorities)); + auth = AuthenticationUtils.createSuccessAuthentication(authRequest, new UserInfoDetailsAdapter(user, + authorities)); } else { - /* New central user - * 1. Try to find OpenUSS profile by email address - * 2. If found, check profile, whether user is not locked or credentials or account is expired. Disabled users will be enabled. - * 3. If no exception occurs, migrate user and redirect her. - * 3. If not found, redirect user to migration page. + /* + * New central user 1. Try to find OpenUSS profile by email + * address 2. If found, check profile, whether user is not + * locked or credentials or account is expired. Disabled + * users will be enabled. 3. If no exception occurs, migrate + * user and redirect her. 3. If not found, redirect user to + * migration page. */ user = securityService.getUserByEmail(centralUserData.getEmail()); - + if (user != null) { - /* OpenUSS profile of central user found by email. - * 1. Enable user profile. (Seldom: User registered without activating her account. As LDAP user, she should be enabled anyway. Refers to: Shortened Registration) - * 2. Check for exceptions (see above). - * 3. If no exception is thrown, put authentication into SecurityContext, so that SecurityService can find it. - * 4. Migrate user, i. e. change username, password, firstname and lastname. - * 5. Add message to inform user about migration. - * 6. Handle "local user". + /* + * OpenUSS profile of central user found by email. 1. + * Enable user profile. (Seldom: User registered without + * activating her account. As LDAP user, she should be + * enabled anyway. Refers to: Shortened Registration) 2. + * Check for exceptions (see above). 3. If no exception + * is thrown, put authentication into SecurityContext, + * so that SecurityService can find it. 4. Migrate user, + * i. e. change username, password, firstname and + * lastname. 5. Add message to inform user about + * migration. 6. Handle "local user". */ user.setEnabled(true); AuthenticationUtils.checkLocallyAllowanceToLogin(user); String[] authorities = securityService.getGrantedAuthorities(user); - auth = AuthenticationUtils.createSuccessAuthentication(authRequest, new UserInfoDetailsAdapter(user, authorities)); + auth = AuthenticationUtils.createSuccessAuthentication(authRequest, new UserInfoDetailsAdapter(user, + authorities)); migrationUtility.migrate(user, auth); - // Set session bean here, so that i18n gets correct locale for user. + // Set session bean here, so that i18n gets correct + // locale for user. setSessionBean(Constants.USER_SESSION_KEY, user); - addMessage(i18n("migration_done_by_email_hint",centralUserData.getAuthenticationDomainName())); + addMessage(i18n("migration_done_by_email_hint", centralUserData.getAuthenticationDomainName())); } else { - /* OpenUSS profile not found. Central user has to migrate manually or do an abbreviated registration. - * 1. Add message to ask user to migrate or register. - * 2. Redirect user to migration page. + /* + * OpenUSS profile not found. Central user has to + * migrate manually or do an abbreviated registration. + * 1. Add message to ask user to migrate or register. 2. + * Redirect user to migration page. */ // Initialize the security context final SecurityContext securityContext = SecurityContextHolder.getContext(); securityContext.setAuthentication(auth); - session.setAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_CONTEXT_KEY, securityContext); - return Constants.MIGRATION_PAGE; + session.setAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_CONTEXT_KEY, securityContext); + return Constants.MIGRATION_PAGE; } } } - + // Handle local user if (auth.getPrincipal() instanceof UserInfo) { // Initialize the security context - if (securityService.getUserByName(username).isDeleted()){ + if (securityService.getUserByName(username).isDeleted()) { throw new UserDeletedException("authentication_error_account_deleted"); } final SecurityContext securityContext = SecurityContextHolder.getContext(); @@ -180,14 +199,14 @@ injectUserInformationIntoSession(auth); sessionTracker.logSessionCreated(getSession()); } - + if (logger.isDebugEnabled()) { logger.debug("User: " + username + " switched to active state."); } } catch (Exception ex) { // Authentication failed String exceptionMessage = null; - + if (ex instanceof UsernameNotFoundException) { exceptionMessage = i18n("authentication_error_account_notfound"); } else if (ex instanceof CredentialsExpiredException) { @@ -202,19 +221,23 @@ exceptionMessage = i18n("authentication_error_account_deleted"); } else if (ex instanceof AccountExpiredException) { exceptionMessage = i18n("authentication_error_account_expired"); - } else if (ex instanceof BadCredentialsException) { - /* If no LDAP server is configured a ProviderNotFound exception is thrown. - * If all LDAP servers or the last one are/is unreachable, an AuthenticationException is thrown. - * !!! But Acegi only throws the last catched exception!!! - * So if the LDAP provider is called BEFORE DAO provider, only DAO provider exceptions are thrown. - * If we catch a BadCredentialsException from DAO provider, the user could have entered a valid - * central login, but all servers are unreachable. Thus we have to inform the user about it, so she + } else if (ex instanceof BadCredentialsException) { + /* + * If no LDAP server is configured a ProviderNotFound exception + * is thrown. If all LDAP servers or the last one are/is + * unreachable, an AuthenticationException is thrown. !!! But + * Acegi only throws the last catched exception!!! So if the + * LDAP provider is called BEFORE DAO provider, only DAO + * provider exceptions are thrown. If we catch a + * BadCredentialsException from DAO provider, the user could + * have entered a valid central login, but all servers are + * unreachable. Thus we have to inform the user about it, so she * does not try to enter valid credentials "until forever". - */ + */ exceptionMessage = i18n("authentication_error_password_mismatch"); } else { exceptionMessage = ex.getClass().toString(); - + } addError(exceptionMessage); // Set ACEGI variables @@ -227,11 +250,13 @@ return forwardToNextView(session); } else { return LOGIN; - } + } } /** - * Check if user have request a view that needed authentication. If so forward no to this view. + * Check if user have request a view that needed authentication. If so + * forward no to this view. + * * @param session * @return outcome */ @@ -243,7 +268,7 @@ if (isValidSavedRequest(savedRequest)) { try { getExternalContext().redirect(savedRequest.getFullRequestUrl()); - getFacesContext().responseComplete(); + getFacesContext().responseComplete(); } catch (IOException e) { logger.error(e); String target = savedRequest.getServletPath() + savedRequest.getPathInfo() + "?" + savedRequest.getQueryString(); @@ -258,14 +283,14 @@ redirect(Constants.DESKTOP); return ""; } - + private boolean isValidSavedRequest(SavedRequest request) { return request != null && request.getFullRequestUrl().contains("/views/"); } private void injectUserInformationIntoSession(Authentication auth) { if (auth.getPrincipal() instanceof UserInfo) { - logger.debug("Principal is: "+auth.getPrincipal()); + logger.debug("Principal is: " + auth.getPrincipal()); user = (UserInfo) auth.getPrincipal(); securityService.setLoginTime(user); setSessionBean(Constants.USER_SESSION_KEY, user); @@ -275,6 +300,7 @@ /** * Invalidates the current session and sends an termination cookie. + * * @return outcome is LOGOUT */ public String logout() { @@ -284,31 +310,52 @@ final HttpServletRequest request = getRequest(); request.getSession(false).invalidate(); - // Remove Cookie + // Remove Acegi RememberMe cookie (with ContextPath) Cookie terminate = new Cookie(TokenBasedRememberMeServices.ACEGI_SECURITY_HASHED_REMEMBER_ME_COOKIE_KEY, "-"); terminate.setMaxAge(0); + + if (StringUtils.isNotBlank(getRequest().getContextPath())) { + terminate.setPath(getRequest().getContextPath()); + } else { + terminate.setPath("/"); + } + getResponse().addCookie(terminate); - + + for (Cookie cookie : getRequest().getCookies()) { + if (!(StringUtils.equalsIgnoreCase(cookie.getName(), "JSESSIONID")) + && !(StringUtils.equalsIgnoreCase(cookie.getName(), + TokenBasedRememberMeServices.ACEGI_SECURITY_HASHED_REMEMBER_ME_COOKIE_KEY))) { + terminate = new Cookie(cookie.getName(), null); + terminate.setMaxAge(0); + terminate.setPath("/"); + getResponse().addCookie(terminate); + } + } + SecurityContextHolder.clearContext(); return LOGOUT; } - - + private void mapLdapUserAttributesToCentralUserField(LdapUserDetails userDetails) { try { - centralUserData.setAuthenticationDomainId((Long) userDetails.getAttributes().get(AttributeMappingKeys.AUTHENTICATIONDOMAINID_KEY).get()); - centralUserData.setAuthenticationDomainName((String) userDetails.getAttributes().get(AttributeMappingKeys.AUTHENTICATIONDOMAINNAME_KEY).get()); + centralUserData.setAuthenticationDomainId((Long) userDetails.getAttributes().get( + AttributeMappingKeys.AUTHENTICATIONDOMAINID_KEY).get()); + centralUserData.setAuthenticationDomainName((String) userDetails.getAttributes().get( + AttributeMappingKeys.AUTHENTICATIONDOMAINNAME_KEY).get()); centralUserData.setUsername((String) userDetails.getAttributes().get(AttributeMappingKeys.USERNAME_KEY).get()); - centralUserData.setUsername(AuthenticationUtils.generateCentralUserLoginName(centralUserData.getAuthenticationDomainName(), centralUserData.getUsername())); + centralUserData.setUsername(AuthenticationUtils.generateCentralUserLoginName(centralUserData + .getAuthenticationDomainName(), centralUserData.getUsername())); centralUserData.setFirstName((String) userDetails.getAttributes().get(AttributeMappingKeys.FIRSTNAME_KEY).get()); centralUserData.setLastName((String) userDetails.getAttributes().get(AttributeMappingKeys.LASTNAME_KEY).get()); - centralUserData.setEmail(((String) userDetails.getAttributes().get(AttributeMappingKeys.EMAIL_KEY).get()).toLowerCase()); + centralUserData.setEmail(((String) userDetails.getAttributes().get(AttributeMappingKeys.EMAIL_KEY).get()) + .toLowerCase()); } catch (NamingException e) { e.printStackTrace(); } - } - + } + public AuthenticationManager getAuthenticationManager() { return authenticationManager; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-13 07:18:14
|
Revision: 4793 http://openuss.svn.sourceforge.net/openuss/?rev=4793&view=rev Author: idueppe Date: 2008-09-13 07:18:25 +0000 (Sat, 13 Sep 2008) Log Message: ----------- add missing test dependency Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-web/pom.xml Modified: branches/openuss-plexus-3.1/plexus/plexus-web/pom.xml =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-web/pom.xml 2008-09-13 07:14:13 UTC (rev 4792) +++ branches/openuss-plexus-3.1/plexus/plexus-web/pom.xml 2008-09-13 07:18:25 UTC (rev 4793) @@ -207,6 +207,12 @@ <dependency> <groupId>org.springframework</groupId> + <artifactId>spring-mock</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.springframework</groupId> <artifactId>spring-remoting</artifactId> </dependency> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-13 07:14:03
|
Revision: 4792 http://openuss.svn.sourceforge.net/openuss/?rev=4792&view=rev Author: idueppe Date: 2008-09-13 07:14:13 +0000 (Sat, 13 Sep 2008) Log Message: ----------- add .springbean file to ignore list Property Changed: ---------------- branches/openuss-plexus-3.1/themes/theme-university-of-muenster/ branches/openuss-plexus-3.1/themes/theme-wwu/ Property changes on: branches/openuss-plexus-3.1/themes/theme-university-of-muenster ___________________________________________________________________ Modified: svn:ignore - target .classpath .project .settings + target .classpath .project .settings .springBeans Property changes on: branches/openuss-plexus-3.1/themes/theme-wwu ___________________________________________________________________ Modified: svn:ignore - target .project .classpath .settings + target .project .classpath .settings .springBeans This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-12 22:35:41
|
Revision: 4791 http://openuss.svn.sourceforge.net/openuss/?rev=4791&view=rev Author: idueppe Date: 2008-09-12 18:27:01 +0000 (Fri, 12 Sep 2008) Log Message: ----------- updated the settings Modified Paths: -------------- branches/openuss-plexus-3.1/.project Modified: branches/openuss-plexus-3.1/.project =================================================================== --- branches/openuss-plexus-3.1/.project 2008-09-12 18:25:51 UTC (rev 4790) +++ branches/openuss-plexus-3.1/.project 2008-09-12 18:27:01 UTC (rev 4791) @@ -1,11 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>openuss-plexus</name> + <name>openuss-plexus-3.1</name> <comment></comment> <projects> </projects> <buildSpec> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> </natures> </projectDescription> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-12 18:25:42
|
Revision: 4790 http://openuss.svn.sourceforge.net/openuss/?rev=4790&view=rev Author: idueppe Date: 2008-09-12 18:25:51 +0000 (Fri, 12 Sep 2008) Log Message: ----------- removed unused dependency and minor version upgrades Modified Paths: -------------- branches/openuss-plexus-3.1/pom.xml Modified: branches/openuss-plexus-3.1/pom.xml =================================================================== --- branches/openuss-plexus-3.1/pom.xml 2008-09-12 18:24:45 UTC (rev 4789) +++ branches/openuss-plexus-3.1/pom.xml 2008-09-12 18:25:51 UTC (rev 4790) @@ -543,7 +543,7 @@ <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> - <version>3.2.6.ga</version> + <version>${hibernate.version}</version> </dependency> <dependency> <groupId>commons-lang</groupId> @@ -1038,5 +1038,6 @@ <shale.version>1.0.4</shale.version> <spring.version>2.0.8</spring.version> <cxf.version>2.0.4-incubator</cxf.version> + <hibernate.version>3.2.6.ga</hibernate.version> </properties> </project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-12 18:24:34
|
Revision: 4789 http://openuss.svn.sourceforge.net/openuss/?rev=4789&view=rev Author: idueppe Date: 2008-09-12 18:24:45 +0000 (Fri, 12 Sep 2008) Log Message: ----------- removed unused dependency Modified Paths: -------------- branches/openuss-plexus-3.1/framework/core/pom.xml Modified: branches/openuss-plexus-3.1/framework/core/pom.xml =================================================================== --- branches/openuss-plexus-3.1/framework/core/pom.xml 2008-09-12 18:23:44 UTC (rev 4788) +++ branches/openuss-plexus-3.1/framework/core/pom.xml 2008-09-12 18:24:45 UTC (rev 4789) @@ -10,7 +10,31 @@ <name>Framework - Core</name> <packaging>jar</packaging> <dependencies> - <dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-core</artifactId> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-dao</artifactId> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-beans</artifactId> + </dependency> + <dependency> + <groupId>dom4j</groupId> + <artifactId>dom4j</artifactId> + </dependency> + <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-api</artifactId> </dependency> @@ -18,10 +42,12 @@ <groupId>org.apache.myfaces.tomahawk</groupId> <artifactId>tomahawk</artifactId> </dependency> - <dependency> +<!-- + <dependency> <groupId>org.apache.shale</groupId> <artifactId>shale-core</artifactId> </dependency> +--> <dependency> <groupId>org.apache.shale</groupId> <artifactId>shale-test</artifactId> @@ -48,31 +74,37 @@ <groupId>org.springframework</groupId> <artifactId>spring-hibernate3</artifactId> </dependency> +<!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-mock</artifactId> </dependency> +--> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> </dependency> - <dependency> + <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </dependency> - <dependency> +<!-- + <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> +--> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> </dependency> +<!-- <dependency> <groupId>javax.el</groupId> <artifactId>el-api</artifactId> <scope>provided</scope> </dependency> +--> <dependency> <groupId>org.acegisecurity</groupId> <artifactId>acegi-security</artifactId> @@ -95,6 +127,7 @@ </exclusion> </exclusions> </dependency> +<!-- <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> @@ -105,9 +138,12 @@ <artifactId>activation</artifactId> <scope>provided</scope> </dependency> - <dependency> +--> +<!-- + <dependency> <groupId>velocity</groupId> <artifactId>velocity</artifactId> </dependency> +--> </dependencies> </project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-12 18:23:32
|
Revision: 4788 http://openuss.svn.sourceforge.net/openuss/?rev=4788&view=rev Author: idueppe Date: 2008-09-12 18:23:44 +0000 (Fri, 12 Sep 2008) Log Message: ----------- removed unused dependency Modified Paths: -------------- branches/openuss-plexus-3.1/framework/jsfcontrols/pom.xml Modified: branches/openuss-plexus-3.1/framework/jsfcontrols/pom.xml =================================================================== --- branches/openuss-plexus-3.1/framework/jsfcontrols/pom.xml 2008-09-12 18:22:03 UTC (rev 4787) +++ branches/openuss-plexus-3.1/framework/jsfcontrols/pom.xml 2008-09-12 18:23:44 UTC (rev 4788) @@ -68,5 +68,17 @@ <groupId>log4j</groupId> <artifactId>log4j</artifactId> </dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </dependency> + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> </dependencies> </project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-12 18:21:52
|
Revision: 4787 http://openuss.svn.sourceforge.net/openuss/?rev=4787&view=rev Author: idueppe Date: 2008-09-12 18:22:03 +0000 (Fri, 12 Sep 2008) Log Message: ----------- removed unused dependency Modified Paths: -------------- branches/openuss-plexus-3.1/framework/tests/pom.xml Modified: branches/openuss-plexus-3.1/framework/tests/pom.xml =================================================================== --- branches/openuss-plexus-3.1/framework/tests/pom.xml 2008-09-12 18:09:30 UTC (rev 4786) +++ branches/openuss-plexus-3.1/framework/tests/pom.xml 2008-09-12 18:22:03 UTC (rev 4787) @@ -20,6 +20,10 @@ <artifactId>spring-beans</artifactId> </dependency> <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-core</artifactId> + </dependency> + <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </dependency> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-12 18:09:21
|
Revision: 4786 http://openuss.svn.sourceforge.net/openuss/?rev=4786&view=rev Author: idueppe Date: 2008-09-12 18:09:30 +0000 (Fri, 12 Sep 2008) Log Message: ----------- removed unused dependency Modified Paths: -------------- branches/openuss-plexus-3.1/themes/theme-core/pom.xml Modified: branches/openuss-plexus-3.1/themes/theme-core/pom.xml =================================================================== --- branches/openuss-plexus-3.1/themes/theme-core/pom.xml 2008-09-12 18:08:53 UTC (rev 4785) +++ branches/openuss-plexus-3.1/themes/theme-core/pom.xml 2008-09-12 18:09:30 UTC (rev 4786) @@ -17,6 +17,10 @@ </build> --> <dependencies> + <dependency> + <groupId>org.apache.myfaces.core</groupId> + <artifactId>myfaces-api</artifactId> + </dependency> <dependency> <groupId>org.openuss.framework</groupId> <artifactId>framework-deployer</artifactId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2008-09-12 18:08:43
|
Revision: 4785 http://openuss.svn.sourceforge.net/openuss/?rev=4785&view=rev Author: idueppe Date: 2008-09-12 18:08:53 +0000 (Fri, 12 Sep 2008) Log Message: ----------- code polishing Modified Paths: -------------- branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/aop/BookmarkingAspectTest.java Modified: branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/aop/BookmarkingAspectTest.java =================================================================== --- branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/aop/BookmarkingAspectTest.java 2008-09-12 18:08:21 UTC (rev 4784) +++ branches/openuss-plexus-3.1/plexus/plexus-core/src/test/java/org/openuss/aop/BookmarkingAspectTest.java 2008-09-12 18:08:53 UTC (rev 4785) @@ -138,8 +138,6 @@ "classpath*:testDataSource.xml" }; } - - public void setUniversityService(UniversityService universityService) { this.universityService = universityService; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |