[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wsf-java-dev
Subject:    Re: [Dev] Engage tomcat filters when original request is dispatched towards a different context.
From:       Isura Karunaratne <isura () wso2 ! com>
Date:       2018-02-26 7:57:35
Message-ID: CAO6_PMn7HF_mx8yvDSvcziGGxhU0NedLqnpjtXty4kuQO3quiA () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


On Sun, Feb 25, 2018 at 11:32 PM Hasintha Indrajee <hasintha@wso2.com>
wrote:

> We have the tenant context rewrite valve which dispatches original request
> to a the context after removing tenant context (/t/tenantDomain). Hence
> servlet filters are not getting engaged for these dispatched requests. We
> need to add an extra <dispatcher> element to our servlet filters in order
> to execute them for dispatched requests as well. Below are two examples
> without and with extra dispatcher element.
>
> Shall we add this for all our filters ?
>
+1

Also, check whether the filters are getting executed for non web app
requests. (Ex. Identity servlet).

<TenantContextsToRewrite>
        <WebApp>
            <Context>/api/identity/user/v1.0/</Context>
            <Context>/api/identity/consent-mgt/v1.0/</Context>
            <Context>/api/identity/recovery/v0.9/</Context>
            <Context>/oauth2/</Context>
            <Context>/scim2/</Context>
            <Context>/api/identity/entitlement/</Context>
            <Context>/api/identity/oauth2/dcr/v1.0/</Context>
        </WebApp>
        <Servlet>
            <Context>/identity/(.*)</Context>
        </Servlet>
    </TenantContextsToRewrite>



Thanks
Isura.

>
>
> Without FORWARD dispatcher
>
> <filter-mapping>
>
>         <filter-name>CaptchaFilter</filter-name>
>
>         <url-pattern>/*</url-pattern>
>
>         <dispatcher>REQUEST</dispatcher>
>
>     </filter-mapping>
>
>
> With FORWARD dispatcher (additionally we can have INCLUDE dispatcher as
> well if we are including without forwarding)
>
> <filter-mapping>
>
>         <filter-name>CaptchaFilter</filter-name>
>
>         <url-pattern>/*</url-pattern>
>
>         <dispatcher>REQUEST</dispatcher>
>
>         <dispatcher>FORWARD</dispatcher>
>
>         <dispatcher>INCLUDE</dispatcher>
>
> </filter-mapping>
>
>
>
>
> --
> Hasintha Indrajee
> WSO2, Inc.
> Mobile:+94 771892453 <077%20189%202453>
>
>

[Attachment #5 (text/html)]

<div dir="ltr"><div><br><div class="gmail_quote"><div dir="auto">On Sun, Feb 25, 2018 \
at 11:32 PM Hasintha Indrajee &lt;<a href="mailto:hasintha@wso2.com" \
target="_blank">hasintha@wso2.com</a>&gt; wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div>We have the tenant context rewrite valve \
which dispatches original request to a the context after removing tenant context \
(/t/tenantDomain). Hence servlet filters are not getting engaged for these dispatched \
requests. We need to add an extra &lt;dispatcher&gt; element to our servlet filters \
in order to execute them for dispatched requests as well. Below are two examples \
without and with extra dispatcher element.<div><br></div><div>Shall we add this for \
all our filters ?</div></div></blockquote><div dir="auto">+1</div><div \
dir="auto"><br></div><div dir="auto">Also, check whether the filters are getting \
executed for non web app requests. (Ex. Identity servlet).  </div><div \
dir="auto"><br></div><div dir="auto"><div \
dir="auto">&lt;TenantContextsToRewrite&gt;</div><div dir="auto">            \
&lt;WebApp&gt;</div><div dir="auto">                  \
&lt;Context&gt;/api/identity/user/v1.0/&lt;/Context&gt;</div><div dir="auto">         \
&lt;Context&gt;/api/identity/consent-mgt/v1.0/&lt;/Context&gt;</div><div dir="auto">  \
&lt;Context&gt;/api/identity/recovery/v0.9/&lt;/Context&gt;</div><div dir="auto">     \
&lt;Context&gt;/oauth2/&lt;/Context&gt;</div><div dir="auto">                  \
&lt;Context&gt;/scim2/&lt;/Context&gt;</div><div dir="auto">                  \
&lt;Context&gt;/api/identity/entitlement/&lt;/Context&gt;</div><div dir="auto">       \
&lt;Context&gt;/api/identity/oauth2/dcr/v1.0/&lt;/Context&gt;</div><div dir="auto">   \
&lt;/WebApp&gt;</div><div dir="auto">            &lt;Servlet&gt;</div><div \
dir="auto">                  &lt;Context&gt;/identity/(.*)&lt;/Context&gt;</div><div \
dir="auto">            &lt;/Servlet&gt;</div><div dir="auto">      \
&lt;/TenantContextsToRewrite&gt;</div><div dir="auto"><br></div><div \
dir="auto"><br></div></div><div dir="auto"><br></div><div dir="auto">Thanks</div><div \
dir="auto">Isura.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div><div><br><div><br></div><div>Without FORWARD \
dispatcher</div><div>




<span></span>





<p class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures">&lt;filter-mapping&gt;</span></p> \
<p class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-Apple-converted-space"> \
</span>&lt;filter-name&gt;CaptchaFilter&lt;/<wbr>filter-name&gt;</span></p> <p \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-Apple-converted-space"> \
</span>&lt;url-pattern&gt;/*&lt;/url-pattern&gt;</span></p> <p \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-Apple-converted-space"> \
</span>&lt;dispatcher&gt;REQUEST&lt;/<wbr>dispatcher&gt;</span></p> <p \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-Apple-converted-space"> \
</span>&lt;/filter-mapping&gt;</span></p>


<div><br></div><div><br></div><div>With FORWARD dispatcher (additionally we can have \
INCLUDE dispatcher as well if we are including without forwarding)</div><div>




<span></span>





<p class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures">&lt;filter-mapping&gt;</span></p> \
<p class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-Apple-converted-space"> \
</span>&lt;filter-name&gt;CaptchaFilter&lt;/<wbr>filter-name&gt;</span></p> <p \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-Apple-converted-space"> \
</span>&lt;url-pattern&gt;/*&lt;/url-pattern&gt;</span></p> <p \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-Apple-converted-space"> \
</span>&lt;dispatcher&gt;REQUEST&lt;/<wbr>dispatcher&gt;</span></p><p \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures"><span \
style="color:rgb(244,244,244);font-family:Monaco;font-size:11px;font-style:normal;font \
-variant-ligatures:no-common-ligatures;font-variant-caps:normal;font-weight:400;letter \
-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:norma \
l;word-spacing:0px;background-color:rgba(0,0,0,0.85);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> \
&lt;dispatcher&gt;FORWARD&lt;/<wbr>dispatcher&gt;</span><br></span></p> <p \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures">            \
&lt;dispatcher&gt;INCLUDE&lt;/<wbr>dispatcher&gt;</span></p> <p \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-p1" \
style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretc \
h:normal;font-size:11px;line-height:normal;font-family:Monaco;color:rgb(244,244,244);background-color:rgba(0,0,0,0.85)"><span \
class="gmail-m_-1242938880315523106m_-8053625247959639991gmail-s1" \
style="font-variant-ligatures:no-common-ligatures">&lt;/filter-mapping&gt;</span></p>


<br></div></div></div></div><div><div><div><div><br></div><br \
clear="all"><div><br></div>-- <br><div \
class="gmail-m_-1242938880315523106m_-8053625247959639991m_-3792034301332410963gmail_signature"><div><div><div><div>Hasintha \
Indrajee</div><div>WSO2, Inc.</div><div>Mobile:<a href="tel:077%20189%202453" \
value="+94771892453" target="_blank">+94 \
771892453</a></div><div><br></div></div></div></div></div> \
</div></div></div></blockquote></div></div></div>



_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic