Changes between Version 12 and Version 13 of MapGuideRfc20


Ignore:
Timestamp:
Oct 23, 2007, 3:30:54 PM (17 years ago)
Author:
trevorwekel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc20

    v12 v13  
    3232
    3333
    34 Expose the API:
     34Add additional API to MgSite:
    3535
    3636{{{
    37  STRING MgUserInformation::GetUserName()
    38  MgByteReader* MgSite::EnumerateGroups( CREFSTRING user, CREFSTRING role )
    39  MgStringCollection* MgSite::EnumerateRoles( CREFSTRING user, CREFSTRING group )
     37 STRING MgSite::GetUserForSession()
     38 MgByteReader* MgSite::EnumerateGroups( CREFSTRING user )
     39 MgStringCollection* MgSite::EnumerateRoles( CREFSTRING user )
    4040}}}
    4141
    4242Make the following internal changes:
    4343
    44 Append the userid (hex encoded) to the session identifier when it is created.  Modify permissions on !EnumerateGroups and !EnumerateRoles so that a user can enumerate his own groups and roles.
     44Modify permissions on !EnumerateGroups and !EnumerateRoles so that a user can enumerate his own groups and roles.
    4545
    4646== Implications ==
    4747
    48 This RFC is strictly an API enhancement.  Having the userid contained in the session identifier makes !MapGuide a little less secure.  However, stealing a session identifier will compromise the user so the damage has already been done.
     48This RFC is strictly an API enhancement.  !GetUserForSession exposes information already maintained by the !MapGuide Server.  !EnumerateGroups and !EnumerateRoles will be implemented using existing functionality.
     49
     50With the new API, hijacking a session identifier will allow access to the username, groups, and roles for a particular user.  Use of HTTPS will reduce the likelihood of session hijack for web sites requiring security.
    4951
    5052== Test Plan ==
    5153
    52 Write a simple app to verify that standard users can access their own groups and roles.  Also validate that non-Author and non-Admin users do not have access to other groups and roles.
     54Write a simple app to verify that users can access their own groups and roles and cannot access information from other groups and roles.
    5355
    5456== Funding/Resources ==