<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">We've done this too with GeoMoose 1.x<div><br></div><div>Apache for Auth/Authz backed by LDAP.</div><div><br></div><div>A trick to secure MapServer is to not use mapserv.exe (annoying windows-ism).   Write a MapScript bit that checks the user's account (Apache already authenticated it and put it in an env variable) and verifies they have access before passing it to the OWS modules.  This part was done in our RoR app.</div><div><br></div><div>Another way to handle MapServer auth, that I rather like because it is all Apache, is to use Apache to limit access to the .map files based on user auth.  The user has NO access to the mapserv CGI.  There is a rewrite rule that proxies calls from [123456].map?... files to <a href="http://localhost:some-externally-blocked-port/cgi-bin/mapserv?map=/basepath/[123456].map&">http://localhost:some-externally-blocked-port/cgi-bin/mapserv?map=/basepath/[123456].map&</a>...   Note: it is required to set the Environment variable per request to only allow access to that one map file, otherwise requests with an extra map= parameter (in GET or POST) will override what apache set and get around the security.</div><div><div><br></div><div>With any of these schemes you must be sure all the services (typically PHP) only access the data through the approved (via HTTP) means.  Going directly to files can bypass security.</div><div><br></div><div>Frankly, these last two paragraphs are in a large part why I was unhappy with how the services were implemented in GeoMoose vs. GISmo at St. Paul.  GISmo was designed to allow for security, multiple users, multiple mapbooks, etc. with one GeoMoose installation (code and datasets).  In the name of simplicity, all this was dropped from GeoMoose during the OpenMNND project.  I can't help but be amused that now, people are asking for these features.</div><div><br><div><div>On Nov 30, 2012, at 10:56 AM, Brian Fischer wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div lang="EN-US" link="blue" vlink="purple"><div class="WordSection1" style="page: WordSection1; "><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="color: rgb(31, 73, 125); ">At least I’m not alone.  Up to this point I have just used web server authentication through Apache or IIS.<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="color: rgb(31, 73, 125); "><o:p> </o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="color: rgb(31, 73, 125); ">I’m thinking something more at the application level, so I can store user settings and preferences.  This would likely mean needing a database backend and introducing more server side code (PHP/Python or whatever) along with session variables or cookies.<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="color: rgb(31, 73, 125); "><o:p> </o:p></span></div><div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><b><span style="font-size: 10pt; color: black; ">Brian Fischer, CFM<o:p></o:p></span></b></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 9pt; color: rgb(31, 73, 125); ">Principal | GIS Project Manager<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 9pt; color: black; ">Houston Engineering, Inc.<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><b><span style="font-size: 9pt; color: black; ">O</span></b><span style="font-size: 9pt; color: black; "><span class="Apple-converted-space"> </span>763.493.4522 |<span class="Apple-converted-space"> </span><b>D</b><span class="Apple-converted-space"> </span>763.493.6664 |<span class="Apple-converted-space"> </span><b>M</b><span class="Apple-converted-space"> </span>763.229.2734</span><span style="font-size: 9pt; color: rgb(31, 73, 125); "><o:p></o:p></span></div></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="color: rgb(31, 73, 125); "><o:p> </o:p></span></div><div><div style="border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-top-style: solid; border-top-color: rgb(181, 196, 223); border-top-width: 1pt; padding-top: 3pt; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><b><span style="font-size: 10pt; font-family: Tahoma, sans-serif; ">From:</span></b><span style="font-size: 10pt; font-family: Tahoma, sans-serif; "><span class="Apple-converted-space"> </span>Bistrais, Bob [mailto:Bob.Bistrais@maine.gov]<span class="Apple-converted-space"> </span><br><b>Sent:</b><span class="Apple-converted-space"> </span>Friday, November 30, 2012 10:40 AM<br><b>To:</b><span class="Apple-converted-space"> </span>Brian Fischer; <a href="mailto:geomoose-users@lists.osgeo.org">geomoose-users@lists.osgeo.org</a><br><b>Subject:</b><span class="Apple-converted-space"> </span>RE: multiple applications from same GeoMoose code<o:p></o:p></span></div></div></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="color: rgb(31, 73, 125); ">Regarding the authentication- some thought, no action.  But I see a need in future projects to have some authentication.<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="color: rgb(31, 73, 125); "><o:p> </o:p></span></div><div><div style="border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-top-style: solid; border-top-color: rgb(181, 196, 223); border-top-width: 1pt; padding-top: 3pt; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><b><span style="font-size: 10pt; font-family: Tahoma, sans-serif; ">From:</span></b><span style="font-size: 10pt; font-family: Tahoma, sans-serif; "><span class="Apple-converted-space"> </span><a href="mailto:geomoose-users-bounces@lists.osgeo.org" style="color: blue; text-decoration: underline; ">geomoose-users-bounces@lists.osgeo.org</a><span class="Apple-converted-space"> </span>[<a href="mailto:geomoose-users-bounces@lists.osgeo.org" style="color: blue; text-decoration: underline; ">mailto:geomoose-users-bounces@lists.osgeo.org</a>]<span class="Apple-converted-space"> </span><b>On Behalf Of<span class="Apple-converted-space"> </span></b>Brian Fischer<br><b>Sent:</b><span class="Apple-converted-space"> </span>Friday, November 30, 2012 11:38 AM<br><b>To:</b><span class="Apple-converted-space"> </span><a href="mailto:geomoose-users@lists.osgeo.org" style="color: blue; text-decoration: underline; ">geomoose-users@lists.osgeo.org</a><br><b>Subject:</b><span class="Apple-converted-space"> </span>[Geomoose-users] multiple applications from same GeoMoose code<o:p></o:p></span></div></div></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; ">I was just curious if anyone else has thought about or tried any other methods to use multiple mapbooks and settings.ini files with one GeoMoose code folder.<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; ">In the past I have used this method and it works well. <a href="http://www.geomoose.org/wiki/index.php/Modification_to_Use_Multiple_Map_Books" style="color: blue; text-decoration: underline; ">http://www.geomoose.org/wiki/index.php/Modification_to_Use_Multiple_Map_Books</a>  With GeoMoose 2.6 there is another file that is introduced for local_settings.ini.<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; ">Also is anyone working on some type of authentication module for GeoMoose.  Basically what I’m thinking is depending on who you login as it would configure the catalog differently.<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; ">Just wanted to get a thread started if anyone else has worked on this or thinking about it.<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="401" style="width: 300.6pt; border-collapse: collapse; "><tbody><tr style="height: 24.1pt; "><td width="14" rowspan="2" valign="top" style="width: 10.5pt; border-top-style: none; border-right-style: none; border-left-style: none; border-width: initial; border-color: initial; border-bottom-style: solid; border-bottom-color: rgb(62, 93, 12); border-bottom-width: 1.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(62, 93, 12); padding-top: 0in; padding-right: 0.05in; padding-bottom: 0in; padding-left: 0.05in; height: 24.1pt; background-position: initial initial; background-repeat: initial initial; "><div style="margin-top: 0in; margin-right: -0.05in; margin-left: -4.5pt; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; line-height: 17px; "><span style="font-size: 6pt; line-height: 10px; color: rgb(31, 73, 125); "><o:p> </o:p></span></div></td><td width="387" colspan="5" valign="top" style="width: 290.1pt; padding-top: 0in; padding-right: 5.75pt; padding-bottom: 0in; padding-left: 5.75pt; height: 24.1pt; "><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; line-height: 17px; "><b>Brian Fischer, CFM<o:p></o:p></b></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; line-height: 17px; "><span style="font-size: 9.5pt; line-height: 14px; ">Principal | GIS Project Manager<o:p></o:p></span></div></td></tr><tr style="height: 16.15pt; "><td width="387" colspan="5" valign="top" style="width: 290.1pt; border-top-style: none; border-right-style: none; border-left-style: none; border-width: initial; border-color: initial; border-bottom-style: solid; border-bottom-color: rgb(62, 93, 12); border-bottom-width: 1.5pt; padding-top: 0in; padding-right: 5.75pt; padding-bottom: 0in; padding-left: 5.75pt; height: 16.15pt; "><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; line-height: 17px; "><b><span style="font-size: 9.5pt; line-height: 14px; color: rgb(62, 93, 12); ">O</span></b><span style="font-size: 9.5pt; line-height: 14px; "><span class="Apple-converted-space"> </span>763.493.4522 |<span class="Apple-converted-space"> </span><b><span style="color: rgb(62, 93, 12); ">D</span></b><span class="Apple-converted-space"> </span>763.493.6664 |<span class="Apple-converted-space"> </span><b><span style="color: rgb(62, 93, 12); ">M</span></b><span class="Apple-converted-space"> </span>763.229.2734<o:p></o:p></span></div></td></tr><tr style="height: 21.95pt; "><td width="14" valign="top" style="width: 10.5pt; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(138, 188, 193); padding-top: 0in; padding-right: 0.05in; padding-bottom: 0in; padding-left: 0.05in; height: 21.95pt; background-position: initial initial; background-repeat: initial initial; "><div style="margin-top: 0in; margin-right: -0.05in; margin-left: -4.5pt; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; line-height: 17px; "><span style="font-size: 9pt; line-height: 13px; color: rgb(31, 73, 125); "><o:p> </o:p></span></div></td><td width="46" style="width: 34.65pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 5.75pt; height: 21.95pt; "><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; line-height: 17px; "><span style="font-size: 9pt; line-height: 13px; "><span><image001.jpg></span><o:p></o:p></span></div></td><td width="341" colspan="4" style="width: 255.45pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; height: 21.95pt; "><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; line-height: 17px; "><span style="font-size: 9.5pt; line-height: 14px; "> <span class="Apple-converted-space"> </span><span style="color: black; ">6901 E Fish Lake Rd. , Suite 140<span class="Apple-converted-space"> </span></span><span style="color: rgb(115, 167, 159); ">•</span><span class="Apple-converted-space"> </span><span style="color: black; ">Maple Grove, MN</span><span style="color: rgb(115, 167, 159); ">•</span><span style="color: black; "> 55369</span><o:p></o:p></span></div></td></tr><tr><td width="14" style="width: 10.5pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="156" colspan="3" style="width: 117.05pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="93" style="width: 69.7pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="138" style="width: 103.35pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td></tr><tr style="height: 13.95pt; "><td width="401" colspan="6" style="width: 300.6pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; height: 13.95pt; "><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; line-height: 17px; "><a href="http://www.houstoneng.com/" style="color: blue; text-decoration: underline; "><b><span style="font-size: 9.5pt; line-height: 14px; ">www.houstoneng.com</span></b></a><b><span style="font-size: 9.5pt; line-height: 14px; color: rgb(31, 73, 125); "> <o:p></o:p></span></b></div></td></tr><tr><td width="14" style="width: 10.5pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="60" colspan="2" style="width: 45.15pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="96" style="width: 71.9pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="93" style="width: 69.7pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="138" style="width: 103.35pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td></tr><tr><td width="14" style="width: 10.5pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="46" style="width: 34.65pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="14" style="width: 10.5pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="96" style="width: 71.9pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="93" style="width: 69.7pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td><td width="138" style="width: 103.35pt; padding-top: 0in; padding-right: 0in; padding-bottom: 0in; padding-left: 0in; "></td></tr></tbody></table><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 8pt; color: rgb(146, 147, 148); ">This entire message (including all forwards and replies) and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret, work-product, attorney-client or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.<o:p></o:p></span></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div></div>_______________________________________________<br>Geomoose-users mailing list<br><a href="mailto:Geomoose-users@lists.osgeo.org">Geomoose-users@lists.osgeo.org</a><br>http://lists.osgeo.org/mailman/listinfo/geomoose-users</div></span></blockquote></div><br></div></div></body></html>