You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Jinmei Liao <ji...@pivotal.io> on 2017/04/06 16:52:48 UTC

Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/
-----------------------------------------------------------

Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.


Repository: geode


Description
-------

GEODE-2756: Do not put security-* properties in the env.


Diffs
-----

  geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
  geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
  geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 


Diff: https://reviews.apache.org/r/58238/diff/1/


Testing
-------

precheckin running


Thanks,

Jinmei Liao


Re: Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

Posted by Jinmei Liao <ji...@pivotal.io>.

> On April 6, 2017, 11:07 p.m., Jared Stewart wrote:
> > geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java
> > Line 56 (original), 53 (patched)
> > <https://reviews.apache.org/r/58238/diff/1/?file=1686145#file1686145line56>
> >
> >     This doesn't relate to your changes per se, but I am curious why ENV needs to be ThreadLocal while securityService does not.  Do you know how Spring manages the instances of this class?  I.e. is there a singleton instance, or one instance per session, or something else?
> 
> Jinmei Liao wrote:
>     I believe it's just a singleton instance in the web container. It's defined in the servlet xml:
>     
>       <mvc:interceptors>
>         <bean class="org.apache.geode.management.internal.web.controllers.support.LoginHandlerInterceptor"/>
>       </mvc:interceptors>
> 
> Jared Stewart wrote:
>     Hm, that seems possibly worrisome to me. Maybe you can clarify.  When someone logs in, I believe Shrio sets the subject on the (ThreadLocal) ThreadContext.  But since this is a thread in a web server, can't that thread later potentially server requests from a different user?  What stops this later user from getting the subject set on the thread earlier?

the later user will come in and this interceptor will always call a login() and hence sets the subject with the new user on this thread. every request is stateless, after request is done, a logout() will get called to clear the subject on the thread as well.


- Jinmei


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/#review171268
-----------------------------------------------------------


On April 6, 2017, 9:12 p.m., Jinmei Liao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58238/
> -----------------------------------------------------------
> 
> (Updated April 6, 2017, 9:12 p.m.)
> 
> 
> Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> GEODE-2756: Do not put security-* properties in the env.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 
> 
> 
> Diff: https://reviews.apache.org/r/58238/diff/1/
> 
> 
> Testing
> -------
> 
> precheckin successful
> 
> 
> Thanks,
> 
> Jinmei Liao
> 
>


Re: Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

Posted by Jared Stewart <js...@pivotal.io>.

> On April 6, 2017, 11:07 p.m., Jared Stewart wrote:
> > geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java
> > Line 56 (original), 53 (patched)
> > <https://reviews.apache.org/r/58238/diff/1/?file=1686145#file1686145line56>
> >
> >     This doesn't relate to your changes per se, but I am curious why ENV needs to be ThreadLocal while securityService does not.  Do you know how Spring manages the instances of this class?  I.e. is there a singleton instance, or one instance per session, or something else?
> 
> Jinmei Liao wrote:
>     I believe it's just a singleton instance in the web container. It's defined in the servlet xml:
>     
>       <mvc:interceptors>
>         <bean class="org.apache.geode.management.internal.web.controllers.support.LoginHandlerInterceptor"/>
>       </mvc:interceptors>

Hm, that seems possibly worrisome to me. Maybe you can clarify.  When someone logs in, I believe Shrio sets the subject on the (ThreadLocal) ThreadContext.  But since this is a thread in a web server, can't that thread later potentially server requests from a different user?  What stops this later user from getting the subject set on the thread earlier?


- Jared


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/#review171268
-----------------------------------------------------------


On April 6, 2017, 9:12 p.m., Jinmei Liao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58238/
> -----------------------------------------------------------
> 
> (Updated April 6, 2017, 9:12 p.m.)
> 
> 
> Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> GEODE-2756: Do not put security-* properties in the env.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 
> 
> 
> Diff: https://reviews.apache.org/r/58238/diff/1/
> 
> 
> Testing
> -------
> 
> precheckin successful
> 
> 
> Thanks,
> 
> Jinmei Liao
> 
>


Re: Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

Posted by Jinmei Liao <ji...@pivotal.io>.

> On April 6, 2017, 11:07 p.m., Jared Stewart wrote:
> > geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java
> > Line 56 (original), 53 (patched)
> > <https://reviews.apache.org/r/58238/diff/1/?file=1686145#file1686145line56>
> >
> >     This doesn't relate to your changes per se, but I am curious why ENV needs to be ThreadLocal while securityService does not.  Do you know how Spring manages the instances of this class?  I.e. is there a singleton instance, or one instance per session, or something else?

I believe it's just a singleton instance in the web container. It's defined in the servlet xml:

  <mvc:interceptors>
    <bean class="org.apache.geode.management.internal.web.controllers.support.LoginHandlerInterceptor"/>
  </mvc:interceptors>


- Jinmei


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/#review171268
-----------------------------------------------------------


On April 6, 2017, 9:12 p.m., Jinmei Liao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58238/
> -----------------------------------------------------------
> 
> (Updated April 6, 2017, 9:12 p.m.)
> 
> 
> Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> GEODE-2756: Do not put security-* properties in the env.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 
> 
> 
> Diff: https://reviews.apache.org/r/58238/diff/1/
> 
> 
> Testing
> -------
> 
> precheckin successful
> 
> 
> Thanks,
> 
> Jinmei Liao
> 
>


Re: Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

Posted by Jared Stewart <js...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/#review171268
-----------------------------------------------------------




geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java
Line 56 (original), 53 (patched)
<https://reviews.apache.org/r/58238/#comment244165>

    This doesn't relate to your changes per se, but I am curious why ENV needs to be ThreadLocal while securityService does not.  Do you know how Spring manages the instances of this class?  I.e. is there a singleton instance, or one instance per session, or something else?


- Jared Stewart


On April 6, 2017, 9:12 p.m., Jinmei Liao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58238/
> -----------------------------------------------------------
> 
> (Updated April 6, 2017, 9:12 p.m.)
> 
> 
> Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> GEODE-2756: Do not put security-* properties in the env.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 
> 
> 
> Diff: https://reviews.apache.org/r/58238/diff/1/
> 
> 
> Testing
> -------
> 
> precheckin successful
> 
> 
> Thanks,
> 
> Jinmei Liao
> 
>


Re: Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

Posted by Patrick Rhomberg <pr...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/#review172976
-----------------------------------------------------------


Ship it!




Ship It!

- Patrick Rhomberg


On April 6, 2017, 9:12 p.m., Jinmei Liao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58238/
> -----------------------------------------------------------
> 
> (Updated April 6, 2017, 9:12 p.m.)
> 
> 
> Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> GEODE-2756: Do not put security-* properties in the env.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 
> 
> 
> Diff: https://reviews.apache.org/r/58238/diff/1/
> 
> 
> Testing
> -------
> 
> precheckin successful
> 
> 
> Thanks,
> 
> Jinmei Liao
> 
>


Re: Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

Posted by Jared Stewart <js...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/#review171269
-----------------------------------------------------------


Ship it!




Ship It!

- Jared Stewart


On April 6, 2017, 9:12 p.m., Jinmei Liao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58238/
> -----------------------------------------------------------
> 
> (Updated April 6, 2017, 9:12 p.m.)
> 
> 
> Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> GEODE-2756: Do not put security-* properties in the env.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 
> 
> 
> Diff: https://reviews.apache.org/r/58238/diff/1/
> 
> 
> Testing
> -------
> 
> precheckin successful
> 
> 
> Thanks,
> 
> Jinmei Liao
> 
>


Re: Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

Posted by Kirk Lund <ki...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/#review172978
-----------------------------------------------------------


Fix it, then Ship it!




Fix and Ship!


geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java
Lines 37 (patched)
<https://reviews.apache.org/r/58238/#comment246025>

    Recommend private on these vars.


- Kirk Lund


On April 6, 2017, 9:12 p.m., Jinmei Liao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58238/
> -----------------------------------------------------------
> 
> (Updated April 6, 2017, 9:12 p.m.)
> 
> 
> Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> GEODE-2756: Do not put security-* properties in the env.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 
> 
> 
> Diff: https://reviews.apache.org/r/58238/diff/1/
> 
> 
> Testing
> -------
> 
> precheckin successful
> 
> 
> Thanks,
> 
> Jinmei Liao
> 
>


Re: Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

Posted by Jinmei Liao <ji...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/
-----------------------------------------------------------

(Updated April 6, 2017, 9:12 p.m.)


Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.


Repository: geode


Description
-------

GEODE-2756: Do not put security-* properties in the env.


Diffs
-----

  geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
  geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
  geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 


Diff: https://reviews.apache.org/r/58238/diff/1/


Testing (updated)
-------

precheckin successful


Thanks,

Jinmei Liao


Re: Review Request 58238: GEODE-2756: Do not put security-* properties in the env.

Posted by Kirk Lund <ki...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/58238/#review171229
-----------------------------------------------------------


Ship it!




Ship It!

- Kirk Lund


On April 6, 2017, 4:52 p.m., Jinmei Liao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58238/
> -----------------------------------------------------------
> 
> (Updated April 6, 2017, 4:52 p.m.)
> 
> 
> Review request for geode, Jared Stewart, Ken Howe, Kirk Lund, and Patrick Rhomberg.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> GEODE-2756: Do not put security-* properties in the env.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java 9e051748f48b6d792724706535b120f1f4b0d1be 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorJUnitTest.java 63d410f6335d9eabbb2547551e32dab8631c7871 
>   geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptorRequestHeaderJUnitTest.java 118e3853750d7ea3ef9af6ac092664a4dabb0108 
> 
> 
> Diff: https://reviews.apache.org/r/58238/diff/1/
> 
> 
> Testing
> -------
> 
> precheckin running
> 
> 
> Thanks,
> 
> Jinmei Liao
> 
>