Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

Ticket #75 (closed defect: wontfix)

Opened 14 years ago

Last modified 12 years ago

Identity loses get/post parameters after login

Reported by: anonymous Owned by: anonymous
Priority: normal Milestone: 0.9
Component: Identity Version:
Severity: normal Keywords:
Cc:

Description

Identity does not manage correctly the urls:

example: /project/edit?id=4 is a protected url. If you want to access it, Identity will first show you the login screen and then will redirect you to /project/edit

Identity has lost the parameters!!!!

Change History

comment:1 Changed 14 years ago by anonymous

  • Component changed from CherryPy to TurboGears

comment:2 Changed 14 years ago by kevin

  • Milestone set to 0.9

comment:3 Changed 14 years ago by kevin

  • Component changed from TurboGears to Identity

comment:4 Changed 14 years ago by kevin

  • Summary changed from Identity redirection to Identity loses get/post parameters after login

comment:5 Changed 14 years ago by plewis@…

I don't think this is really an identity issue (at least as far as the core framework goes). I modified the example controller and template code in the "Identity Framework Sample" as follows:

In controllers.py:

@turbogears.expose( html="id.templates.login" )
def login( self, *args, **kw ):
    if hasattr(cherrypy.request,"identity_exception"):
        msg= str(cherrypy.request.identity_exception)
        userId= getattr( cherrypy.request.identity_exception, "userId", None )
    else:
        msg= "Please log in"
        userId= None
        cherrypy.response.status=403
    return dict( message=msg, request=cherrypy.request, userId=userId )

And in login.kid:

<form action="${request.path}" method="POST">
<?python
# The following adds in any parameters passed to the original request
pm= request.paramMap
?>
<input py:for="p in pm.keys()" type="hidden" name="$p" value="${pm[p]}"/>

Basically, if you want to track request parameters, your app login framework needs to handle it. Perhaps including the above code in the Identity Sample and the identity management docs will steer people in the right direction.

comment:6 Changed 14 years ago by Jeff Watkins

  • Status changed from new to closed
  • Resolution set to wontfix

After considerable thinking, I believe it is incumbent on your application to ensure that the original query/post parameters are kept. This isn't the responsibility of identity.

Note: See TracTickets for help on using tickets.