wiki:MapGuideRfc20

Version 13 (modified by trevorwekel, 17 years ago) ( diff )

--

MapGuide RFC 20 - Obtain user, group, role information from MapGuide session id

This page contains a change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.

Status

RFC Template Version(1.0)
Submission DateMay 7, 2007
Last ModifiedTrevor Wekel Timestamp
AuthorTrevor Wekel
RFC Statusnot ready for review
Implementation Statuspending
Proposed Milestone1.2
Assigned PSC guide(s)
Voting History
+1
+0
-0
-1

Overview

This RFC exposes existing functionality within MapGuide to allow the MapGuide session identifier to be used to obtain userid, group, and role information for the user associated with the session identifier.

Motivation

User, group and role information has to be currently maintained by the web applications. Adding this functionality will make web applications easier to develop and has been requested by a number of users.

Proposed Solution

Add additional API to MgSite:

 STRING MgSite::GetUserForSession()
 MgByteReader* MgSite::EnumerateGroups( CREFSTRING user )
 MgStringCollection* MgSite::EnumerateRoles( CREFSTRING user )

Make the following internal changes:

Modify permissions on EnumerateGroups and EnumerateRoles so that a user can enumerate his own groups and roles.

Implications

This RFC is strictly an API enhancement. GetUserForSession exposes information already maintained by the MapGuide Server. EnumerateGroups and EnumerateRoles will be implemented using existing functionality.

With 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.

Test Plan

Write a simple app to verify that users can access their own groups and roles and cannot access information from other groups and roles.

Funding/Resources

Autodesk to provide resources / funding.

Note: See TracWiki for help on using the wiki.