You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by GitBox <gi...@apache.org> on 2021/08/12 08:19:29 UTC

[GitHub] [shiro] bmarwell opened a new pull request #317: [SHIRO-678] only query parameters for sessionID if found

bmarwell opened a new pull request #317:
URL: https://github.com/apache/shiro/pull/317


    - getParameters() will also parse the body, which in turn decodes the content.
      avoid calling this method unless we know the sessionID can be in the query part.
   
   
   Following this checklist to help us incorporate your contribution quickly and easily:
   
    - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SHIRO) filed 
          for the change (usually before you start working on it).  Trivial changes like typos do not 
          require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
    - [ ] Each commit in the pull request should have a meaningful subject line and body.
    - [ ] Format the pull request title like `[SHIRO-XXX] - Fixes bug in SessionManager`,
          where you replace `SHIRO-XXX` with the appropriate JIRA issue. Best practice
          is to use the JIRA issue title in the pull request title and in the first line of the commit message.
    - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    - [ ] Run `mvn clean install apache-rat:check` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
    - [ ] If you have a group of commits related to the same change, please squash your commits into one and force push your branch using `git rebase -i`. 
    
   Trivial changes like typos do not require a JIRA issue (javadoc, comments...). 
   In this case, just format the pull request title like `(DOC) - Add javadoc in SessionManager`.
    
   If this is your first contribution, you have to read the [Contribution Guidelines](https://github.com/apache/shiro/blob/master/CONTRIBUTING.md)
   
   If your pull request is about ~20 lines of code you don't need to sign an [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) 
   if you are unsure please ask on the developers list.
   
   To make clear that you license your contribution under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   you have to acknowledge this by using the following check-box.
   
    - [ ] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
    - [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@shiro.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shiro] bmarwell commented on pull request #317: [SHIRO-678] only query parameters for sessionID if found

Posted by GitBox <gi...@apache.org>.
bmarwell commented on pull request #317:
URL: https://github.com/apache/shiro/pull/317#issuecomment-898312430


   If okay for you, will squash the commits later today and then cherry-pick into 1.8.x.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@shiro.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shiro] bmarwell merged pull request #317: [SHIRO-678] only query parameters for sessionID if found

Posted by GitBox <gi...@apache.org>.
bmarwell merged pull request #317:
URL: https://github.com/apache/shiro/pull/317


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@shiro.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shiro] bmarwell merged pull request #317: [SHIRO-678] only query parameters for sessionID if found

Posted by GitBox <gi...@apache.org>.
bmarwell merged pull request #317:
URL: https://github.com/apache/shiro/pull/317


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@shiro.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shiro] bdemers commented on a change in pull request #317: [SHIRO-678] only query parameters for sessionID if found

Posted by GitBox <gi...@apache.org>.
bdemers commented on a change in pull request #317:
URL: https://github.com/apache/shiro/pull/317#discussion_r688028609



##########
File path: web/src/main/java/org/apache/shiro/web/session/mgt/DefaultWebSessionManager.java
##########
@@ -130,13 +130,18 @@ private Serializable getReferencedSessionId(ServletRequest request, ServletRespo
             //try the URI path segment parameters first:
             id = getUriPathSegmentParamValue(request, ShiroHttpSession.DEFAULT_SESSION_ID_NAME);
 
-            if (id == null) {
+            if (id == null && request instanceof HttpServletRequest) {
                 //not a URI path segment parameter, try the query parameters:
                 String name = getSessionIdName();
-                id = request.getParameter(name);
-                if (id == null) {
-                    //try lowercase:
-                    id = request.getParameter(name.toLowerCase());
+                HttpServletRequest httpServletRequest = WebUtils.toHttp(request);
+                String queryString = httpServletRequest.getQueryString();
+                if (queryString.contains(name)

Review comment:
       check for an NPE ;)




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@shiro.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org