[java-identity-provider COMMIT] in /trunk/idp-conf/src/main/resources: conf/error-mappings.xml system/flows/status/st...
noreply at shibboleth.net
noreply at shibboleth.net
Mon Jun 9 15:41:21 EDT 2014
Author: scantor
Date: Mon Jun 9 15:41:21 2014
New Revision: 6063
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=6063&view=rev
Log:
Update error handling in Status flow, and add a 403 view template.
Added:
trunk/idp-conf/src/main/resources/views/access-error.vm (with props)
Modified:
trunk/idp-conf/src/main/resources/conf/error-mappings.xml
trunk/idp-conf/src/main/resources/system/flows/status/status-beans.xml
trunk/idp-conf/src/main/resources/system/flows/status/status-flow.xml
trunk/idp-conf/src/main/resources/views/status.vm
Modified: trunk/idp-conf/src/main/resources/conf/error-mappings.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/conf/error-mappings.xml?rev=6063&r1=6062&r2=6063&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/conf/error-mappings.xml (original)
+++ trunk/idp-conf/src/main/resources/conf/error-mappings.xml Mon Jun 9 15:41:21 2014
@@ -25,6 +25,7 @@
<entry key="InvalidProfileConfiguration" value="relying-party-error" />
<entry key="MessageReplay" value="stale-error" />
<entry key="MessageExpired" value="stale-error" />
+ <entry key="AccessDenied" value="access-error" />
</util:map>
<!-- Mappings of error events during requests to SAML status codes and SOAP fault codes. -->
Modified: trunk/idp-conf/src/main/resources/system/flows/status/status-beans.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/status/status-beans.xml?rev=6063&r1=6062&r2=6063&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/status/status-beans.xml (original)
+++ trunk/idp-conf/src/main/resources/system/flows/status/status-beans.xml Mon Jun 9 15:41:21 2014
@@ -24,6 +24,11 @@
<bean id="CheckAccess"
class="org.opensaml.profile.action.impl.CheckClientAddress" scope="prototype"
p:httpServletRequest-ref="shibboleth.HttpServletRequest"
- p:allowedRanges="#{ { ${idp.status.allowedAddresses} } }" />
+ p:allowedRanges="#{ { ${idp.status.allowedAddresses:null} } }" />
+
+ <bean id="MapEventToView"
+ class="net.shibboleth.idp.profile.context.navigate.SpringEventToViewLookupFunction"
+ p:defaultView-ref="shibboleth.DefaultErrorView"
+ p:eventMap-ref="shibboleth.EventViewMap" />
</beans>
Modified: trunk/idp-conf/src/main/resources/system/flows/status/status-flow.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/status/status-flow.xml?rev=6063&r1=6062&r2=6063&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/status/status-flow.xml (original)
+++ trunk/idp-conf/src/main/resources/system/flows/status/status-flow.xml Mon Jun 9 15:41:21 2014
@@ -21,19 +21,30 @@
<evaluate expression="new org.joda.time.DateTime(flowExecutionContext.getActiveSession().getDefinition().getApplicationContext().getStartupDate())"
result="requestScope.startupTime" />
<evaluate expression="T(org.joda.time.DateTime).now()" result="requestScope.now" />
- <evaluate expression="flowRequestContext.getExternalContext().getNativeResponse().setContentType('text/plain')" />
+ <evaluate expression="flowRequestContext.getExternalContext().getNativeRequest()" result="requestScope.request" />
+ <evaluate expression="flowRequestContext.getExternalContext().getNativeResponse()" result="requestScope.response" />
</on-entry>
</end-state>
- <end-state id="error" view="error">
+ <!-- Populates inputs to error views and dispatches based on the error event. -->
+ <action-state id="HandleErrorWithView">
<on-entry>
<evaluate expression="opensamlProfileRequestContext" result="requestScope.profileRequestContext" />
+ <evaluate expression="T(net.shibboleth.utilities.java.support.codec.HTMLEncoder)" result="requestScope.encoder" />
+ <evaluate expression="flowRequestContext.getExternalContext().getNativeRequest()" result="requestScope.request" />
+ <evaluate expression="flowRequestContext.getExternalContext().getNativeResponse()" result="requestScope.response" />
</on-entry>
- </end-state>
+
+ <evaluate expression="currentEvent" />
+
+ <transition to="error" />
+ </action-state>
+
+ <end-state id="error" view="#{MapEventToView.apply(currentEvent)}" />
<!-- Default is to turn non-proceed events into an error. -->
<global-transitions>
- <transition on="#{!'proceed'.equals(currentEvent.id)}" to="error" />
+ <transition on="#{!'proceed'.equals(currentEvent.id)}" to="HandleErrorWithView" />
</global-transitions>
[... 23 lines stripped ...]
More information about the commits
mailing list