From 72ca3309201c634af21c6b6b1f8b0070343c32b8 Mon Sep 17 00:00:00 2001 From: Philip Durbin Date: Mon, 14 Sep 2015 15:26:39 -0400 Subject: [PATCH] todo: ValidateEmail on AuthenticatedUser like BuiltinUser #2512 --- src/main/java/edu/harvard/iq/dataverse/Shib.java | 14 ++++++++++++++ .../authorization/users/AuthenticatedUser.java | 6 ++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/edu/harvard/iq/dataverse/Shib.java b/src/main/java/edu/harvard/iq/dataverse/Shib.java index fa8c328ba2e..74a539e3357 100644 --- a/src/main/java/edu/harvard/iq/dataverse/Shib.java +++ b/src/main/java/edu/harvard/iq/dataverse/Shib.java @@ -474,6 +474,7 @@ public enum DevShibAccountType { TESTSHIB1, HARVARD1, HARVARD2, + TWO_EMAILS, }; private DevShibAccountType getDevShibAccountType() { @@ -533,6 +534,10 @@ private void possiblyMutateRequestInDev() { mutateRequestForDevConstantHarvard2(); break; + case TWO_EMAILS: + mutateRequestForDevConstantTwoEmails(); + break; + default: logger.info("Should never reach here"); break; @@ -902,4 +907,13 @@ private void mutateRequestForDevConstantHarvard2() { request.setAttribute(usernameAttribute, "ghopper"); } + private void mutateRequestForDevConstantTwoEmails() { + request.setAttribute(shibIdpAttribute, "https://fake.example.com/idp/shibboleth"); + request.setAttribute(uniquePersistentIdentifier, "twoEmails"); + request.setAttribute(firstNameAttribute, "Eric"); + request.setAttribute(lastNameAttribute, "Allman"); + request.setAttribute(emailAttribute, "eric1@mailinator.com;eric2@mailinator.com"); + request.setAttribute(usernameAttribute, "eallman"); + } + } diff --git a/src/main/java/edu/harvard/iq/dataverse/authorization/users/AuthenticatedUser.java b/src/main/java/edu/harvard/iq/dataverse/authorization/users/AuthenticatedUser.java index 3d22a4fa926..e789a8dfb70 100644 --- a/src/main/java/edu/harvard/iq/dataverse/authorization/users/AuthenticatedUser.java +++ b/src/main/java/edu/harvard/iq/dataverse/authorization/users/AuthenticatedUser.java @@ -1,6 +1,7 @@ package edu.harvard.iq.dataverse.authorization.users; import edu.harvard.iq.dataverse.DatasetLock; +import edu.harvard.iq.dataverse.ValidateEmail; import edu.harvard.iq.dataverse.authorization.AuthenticatedUserDisplayInfo; import edu.harvard.iq.dataverse.authorization.AuthenticatedUserLookup; import edu.harvard.iq.dataverse.authorization.RoleAssigneeDisplayInfo; @@ -47,6 +48,11 @@ public class AuthenticatedUser implements User, Serializable { @Column(nullable = false, unique=true) private String userIdentifier; + /** + * @todo Uncomment the ValidateEmail annotation below for consistency with + * the annotation on BuiltinUser. + */ +// @ValidateEmail(message = "Please enter a valid email address.") @NotNull @Column(nullable = false, unique=true) private String email;