[java-identity-provider COMMIT] in /trunk: idp-authn-api/pom.xml idp-authn-api/src/main/java/net/shibboleth/idp/authn...

noreply at shibboleth.net noreply at shibboleth.net
Tue Sep 20 14:45:43 EDT 2016


Author: scantor
Date: Tue Sep 20 14:45:43 2016
New Revision: 8408

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8408&view=rev
Log:
IDP-908 - Reporting on authentication events

https://issues.shibboleth.net/jira/browse/IDP-908

Prototype metric design with example use to track authn success/failure.

Added:
    trunk/idp-core/src/main/java/net/shibboleth/idp/metrics/DisabledCounter.java   (with props)
    trunk/idp-core/src/main/java/net/shibboleth/idp/metrics/DisabledHistogram.java   (with props)
    trunk/idp-core/src/main/java/net/shibboleth/idp/metrics/DisabledMeter.java   (with props)
    trunk/idp-core/src/main/java/net/shibboleth/idp/metrics/DisabledMetric.java   (with props)
    trunk/idp-core/src/main/java/net/shibboleth/idp/metrics/DisabledTimer.java   (with props)
    trunk/idp-core/src/main/java/net/shibboleth/idp/metrics/FilteredMetricRegistry.java   (with props)
    trunk/idp-core/src/main/java/net/shibboleth/idp/metrics/MetricsSupport.java   (with props)
Modified:
    trunk/idp-authn-api/pom.xml
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractUsernamePasswordValidationAction.java
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateUsernamePasswordAgainstJAAS.java
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateUsernamePasswordAgainstKerberos.java
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateUsernamePasswordAgainstLDAP.java
    trunk/idp-conf/src/main/resources/system/conf/general-admin-system.xml
    trunk/idp-conf/src/main/resources/system/flows/admin/metrics-beans.xml
    trunk/idp-core/src/main/java/net/shibboleth/idp/metrics/LoggerDrivenMetricFilter.java

Modified: trunk/idp-authn-api/pom.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-authn-api/pom.xml?rev=8408&r1=8407&r2=8408&view=diff
==============================================================================
--- trunk/idp-authn-api/pom.xml	(original)
+++ trunk/idp-authn-api/pom.xml	Tue Sep 20 14:45:43 2016
@@ -18,6 +18,11 @@
 
     <dependencies>
         <!-- Compile Dependencies -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>idp-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>idp-profile-api</artifactId>

Modified: trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractUsernamePasswordValidationAction.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractUsernamePasswordValidationAction.java?rev=8408&r1=8407&r2=8408&view=diff
==============================================================================
--- trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractUsernamePasswordValidationAction.java	(original)
+++ trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractUsernamePasswordValidationAction.java	Tue Sep 20 14:45:43 2016
@@ -27,6 +27,7 @@
 import net.shibboleth.idp.authn.context.UsernamePasswordContext;
 import net.shibboleth.idp.authn.principal.PasswordPrincipal;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
 
 import org.opensaml.profile.context.ProfileRequestContext;
@@ -49,6 +50,9 @@
  */
 public abstract class AbstractUsernamePasswordValidationAction extends AbstractValidationAction {
 
+    /** Default prefix for metrics. */
+    @Nonnull @NotEmpty private static final String DEFAULT_METRIC_NAME = "net.shibboleth.idp.authn.password"; 
+    
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(AbstractUsernamePasswordValidationAction.class);
 
@@ -67,6 +71,7 @@
     /** Constructor. */
     public AbstractUsernamePasswordValidationAction() {
         removeContextAfterValidation = true;
+        setMetricName(DEFAULT_METRIC_NAME);
     }
     
     /**
@@ -150,15 +155,18 @@
         if (upContext == null) {
             log.info("{} No UsernamePasswordContext available within authentication context", getLogPrefix());
             handleError(profileRequestContext, authenticationContext, "NoCredentials", AuthnEventIds.NO_CREDENTIALS);
+            recordFailure();
             return false;
         } else if (upContext.getUsername() == null) {
             log.info("{} No username available within UsernamePasswordContext", getLogPrefix());
             handleError(profileRequestContext, authenticationContext, "NoCredentials", AuthnEventIds.NO_CREDENTIALS);
+            recordFailure();
             return false;
         } else if (upContext.getPassword() == null) {
             log.info("{} No password available within UsernamePasswordContext", getLogPrefix());

[... 483 lines stripped ...]


More information about the commits mailing list