<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=NO-BOK link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>Hi,<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Thanks for the help.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Using filter in the CLASS did nothing more than adding FILTER to the layer tag. I tried this definition:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>LAYER<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                               NAME Traseer<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                               GROUP TelMe<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                               TYPE LINE<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                               DATA "TM_Nett/TM_Traces"<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                               minscaledenom 0<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                               maxscaledenom 5500000<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                               CLASS<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                                               EXPRESSION ('[type]' != "LUFT")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                                               TEMPLATE 'void'<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                                               NAME "TelMe_Traseer"<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                                               STYLE<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                                                               COLOR 255 0 0<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                                                               WIDTH 2<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                                               END<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>                END # Layer<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>It does not display the data, nor queryable in MapScript, but I can get the feature geometry with WFS.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>I’ve until now used CONNECTIONTYPE OGR with CONNECTION, and it has worked flawlessly. Recently, when upgrading to PHP 5.4, it started UTF-8 encoding my tables. I’ve addressed the issue here: <a href="http://comments.gmane.org/gmane.comp.gis.mapserver.user/49756">http://comments.gmane.org/gmane.comp.gis.mapserver.user/49756</a> . I have some more research to do regarding the issue, but I’d be very thankful for any hints.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Håkon<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Lime, Steve D (DNR) [mailto:Steve.Lime@state.mn.us] <br><b>Sent:</b> 5. november 2012 18:30<br><b>To:</b> Hawk AA; mapserver-users@lists.osgeo.org<br><b>Subject:</b> RE: [mapserver-users] MapServer Layer Filter not applying to WFS<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>One other idea. I believe you can avoid using OGR by adding your filter to class expressions and setting a template (which enables queries) at the class level. Class expressions are always checked. If you have one class it’s easy:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>LAYER<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>     NAME Traseer<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>     GROUP TelMe<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>     TYPE LINE<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>     </span>DATA "TM_Nett/TM_Traces"<o:p></o:p></p><p class=MsoNormal>     CLASS<o:p></o:p></p><p class=MsoNormal>        EXPRESSION'[type]' != "Bru")<o:p></o:p></p><p class=MsoNormal>        # Styling and more etc....<o:p></o:p></p><p class=MsoNormal>        TEMPLATE ’void’<o:p></o:p></p><p class=MsoNormal>      END<o:p></o:p></p><p class=MsoNormal>      # No template set at the layer level<o:p></o:p></p><p class=MsoNormal>END<span lang=EN-US style='color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Might consider WMS-only vs. WFS-only layer defs to simplify life if you have multiple classes.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Steve<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:mapserver-users-bounces@lists.osgeo.org">mapserver-users-bounces@lists.osgeo.org</a> [<a href="mailto:mapserver-users-bounces@lists.osgeo.org">mailto:mapserver-users-bounces@lists.osgeo.org</a>] <b>On Behalf Of </b>Hawk AA<br><b>Sent:</b> Monday, November 05, 2012 8:26 AM<br><b>To:</b> <a href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a><br><b>Subject:</b> [mapserver-users] MapServer Layer Filter not applying to WFS<o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Hi there, mailing list,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>We have a customer sending us data with sensitive information. The most convenient way for us is to receive the complete data set and applying a filter in the mapfile.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>The layer definition looks like this:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>LAYER<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>                               NAME Traseer<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>                               GROUP TelMe<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>                               TYPE LINE<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>                               </span>DATA "TM_Nett/TM_Traces"<o:p></o:p></p><p class=MsoNormal>                               FILTER('[type]' != "Bru")<o:p></o:p></p><p class=MsoNormal>                               #Styling and more etc....<o:p></o:p></p><p class=MsoNormal>END<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-US>This works flawlessly using PHP Mapscript and the mapserver WMS service. The data is not accessible. The problem occurs when querying by WFS. The Mapserver WFS service seems to omit the FILTER information and opens up for selecting items with the type “Bru”, which is a serious security flaw. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>I’d consider this as a bug, although I’m not certain. If anyone please can confirm this, or show me how to make mapserver filter data in WFS as well, I’d be much obliged.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Best Regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Håkon<o:p></o:p></span></p></div></body></html>