{"id":9199,"date":"2022-03-11T10:44:14","date_gmt":"2022-03-11T13:44:14","guid":{"rendered":"https:\/\/www.fernandoquadro.com.br\/html\/?p=9199"},"modified":"2022-03-11T10:44:14","modified_gmt":"2022-03-11T13:44:14","slug":"usando-geofence-para-adicionar-seguranca-em-nivel-de-camada-no-geoserver","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2022\/03\/11\/usando-geofence-para-adicionar-seguranca-em-nivel-de-camada-no-geoserver\/","title":{"rendered":"Usando Geofence para adicionar seguran\u00e7a em n\u00edvel de camada no Geoserver"},"content":{"rendered":"<p>O sistema de seguran\u00e7a do Geoserver \u00e9 muito bom por si s\u00f3. Ele permite criar v\u00e1rios Pap\u00e9is, Grupos, Usu\u00e1rios e fazer combina\u00e7\u00f5es entre eles, protegendo nossos dados. Caso voc\u00ea n\u00e3o conhe\u00e7a o sistema de seguran\u00e7a do GeoServer temos uma s\u00e9rie com <a href=\"https:\/\/www.fernandoquadro.com.br\/html\/2017\/08\/21\/configurando-a-seguranca-no-geoserver-parte-1\/\" rel=\"noopener\" target=\"_blank\">1<\/a>, <a href=\"https:\/\/www.fernandoquadro.com.br\/html\/2017\/08\/22\/configuracoes-de-seguranca-no-geoserver-parte-2\/\" rel=\"noopener\" target=\"_blank\">2<\/a>, <a href=\"https:\/\/www.fernandoquadro.com.br\/html\/2017\/08\/23\/configuracoes-de-seguranca-no-geoserver-parte-3\/\" rel=\"noopener\" target=\"_blank\">3<\/a>, <a href=\"https:\/\/www.fernandoquadro.com.br\/html\/2017\/08\/24\/configuracoes-de-seguranca-no-geoserver-parte-4\/\" rel=\"noopener\" target=\"_blank\">4<\/a> posts aqui no blog.<\/p>\n<p>Como mencionado no t\u00edtulo, iremos utilizar neste post o GeoFence, e para um melhor entendimento irei descrever um problema para demonstrar o funcionamento do plugin.<\/p>\n<p><strong>1. Descri\u00e7\u00e3o do Problema<\/strong><\/p>\n<p>Imagine um cen\u00e1rio, onde voc\u00ea tem uma camada que cont\u00e9m informa\u00e7\u00f5es para todas as regi\u00f5es do mundo e diversos atributos. Por exemplo, a camadas de Lugares (Places) que pode ser encontrada em <a href=\"https:\/\/www.naturalearthdata.com\/downloads\/10m-cultural-vectors\/10m-populated-places\/\" rel=\"noopener\" target=\"_blank\">https:\/\/www.naturalearthdata.com\/downloads\/10m-cultural-vectors\/10m-populated-places\/<\/a><\/p>\n<p>Baixe o shape no link acima e configure como uma camada do workspace cite no seu GeoServer. <\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/places_layer.png\" alt=\"\" width=\"875\" height=\"725\" class=\"aligncenter size-full wp-image-9206\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/places_layer.png 875w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/places_layer-300x249.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/places_layer-768x636.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/places_layer-600x497.png 600w\" sizes=\"auto, (max-width: 875px) 100vw, 875px\" \/><br \/>\n<\/center><\/p>\n<p>Neste cen\u00e1rio n\u00f3s queremos restringir o acesso de acordo com a planilha abaixo:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/tabela_geofence_restricoes.png\" alt=\"\" width=\"552\" height=\"157\" class=\"aligncenter size-full wp-image-9258\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/tabela_geofence_restricoes.png 552w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/tabela_geofence_restricoes-300x85.png 300w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><br \/>\n<\/center><\/p>\n<p>Se voc\u00ea perceber estamos entrando no n\u00edvel de camada, e querendo realizar restri\u00e7\u00f5es nas informa\u00e7\u00f5es (ex: ter acesso apenas aos lugares  localizados no Brasil e apenas a alguns atributos espec\u00edficos por role e\/ou usu\u00e1rio).<\/p>\n<p>Para conseguir isso, usaremos o GeoFence, que nos permite subir ao n\u00edvel da camada e definir a permiss\u00e3o conforme nossa necessidade. A ferramenta de GeoFence pode ser usada via interface do usu\u00e1rio ou como uma API REST.<\/p>\n<p><strong>2. Trabalhando com GeoFence<\/strong><\/p>\n<p><strong>2.1 Instala\u00e7\u00e3o<\/strong><\/p>\n<p>Se voc\u00ea estiver usando GeoServer a partir da vers\u00e3o 2.18, lembre-se de instalar apenas o plugin GeoFence Server, e n\u00e3o instalar o plugin GeoFence Client. Para este teste, eu estou usando a vers\u00e3o 2.18.4, desta forma a p\u00e1gina para download \u00e9 <a href=\"http:\/\/geoserver.org\/release\/2.20.0\/\" rel=\"noopener\" target=\"_blank\">http:\/\/geoserver.org\/release\/2.18.4\/<\/a><\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/security_02-300x141.png\" alt=\"\" width=\"300\" height=\"141\" class=\"aligncenter size-medium wp-image-9211\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/security_02-300x141.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/security_02.png 546w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><br \/>\n<\/center><\/p>\n<p>Uma vez realizado o download, coloque todos os jars em <strong>\/geoserver\/webapps\/geoserver\/WEB-INF\/lib\/<\/strong> e reinicie o geoserver. Uma vez feito, voc\u00ea ver\u00e1 novas op\u00e7\u00f5es adicionadas na guia de seguran\u00e7a:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/security_03-300x261.png\" alt=\"\" width=\"300\" height=\"261\" class=\"aligncenter size-medium wp-image-9212\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/security_03-300x261.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/security_03-600x522.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/security_03.png 634w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><br \/>\n<\/center><\/p>\n<p><strong>2.2 Configura\u00e7\u00e3o<\/strong><\/p>\n<p>Finalizada a instala\u00e7\u00e3o, voc\u00ea deve ir na guia GeoFence e clicar no bot\u00e3o de conex\u00e3o de teste e ver a mensagem de conex\u00e3o bem-sucedida. Se voc\u00ea n\u00e3o vir isso, significa que voc\u00ea n\u00e3o instalou o plugin corretamente, ou seja, reveja os passos anteriores.<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_01-300x215.png\" alt=\"\" width=\"300\" height=\"215\" class=\"aligncenter size-medium wp-image-9217\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_01-300x215.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_01-768x550.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_01-600x430.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_01.png 875w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><br \/>\n<\/center><\/p>\n<p><strong>2.3 Definindo pap\u00e9is e usu\u00e1rios<\/strong><\/p>\n<p>Precisamos definir os usu\u00e1rios e pap\u00e9is (roles) de acordo com a declara\u00e7\u00e3o do problema, na guia Configura\u00e7\u00f5es -> Usu\u00e1rios, Grupos, Fun\u00e7\u00f5es. Veja como:<\/p>\n<p>2.3.1. Criar os pap\u00e9is (roles) <strong>brasil_gov, brasil_public e latam<\/strong><br \/>\n2.3.2. Criar os usu\u00e1rios <strong>class_1, class_2 e normal<\/strong> vinculados ao papel <strong>brasil_public<\/strong><br \/>\n2.3.3. Criar o usu\u00e1rio <strong>gov <\/strong>vinculado ao papel <strong>brasil_gov<\/strong><br \/>\n2.3.4. Criar o <strong>latam_user <\/strong>vinculado ao papel <strong>latam<\/strong><\/p>\n<p>A configura\u00e7\u00e3o dever\u00e1 ficar assim:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_02-1024x352.png\" alt=\"\" width=\"676\" height=\"232\" class=\"aligncenter size-large wp-image-9220\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_02-1024x352.png 1024w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_02-300x103.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_02-768x264.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_02-600x206.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_02-945x325.png 945w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_02.png 1220w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><br \/>\n<\/center><br \/>\n<center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_03-1024x378.png\" alt=\"\" width=\"676\" height=\"250\" class=\"aligncenter size-large wp-image-9222\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_03-1024x378.png 1024w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_03-300x111.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_03-768x283.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_03-600x221.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_03-945x349.png 945w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_03.png 1217w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><br \/>\n<\/center><\/p>\n<p><strong>2.4 Definindo regras de dados do GeoFence<\/strong><\/p>\n<p>Para definir as regras de dados do GeoFence de acordo com a declara\u00e7\u00e3o do nosso problema vamos em <strong>Secutiry -> Geofencing Data Rules<\/strong>, e em seguinte clique em adicionar nova regra:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles-547x1024.png\" alt=\"\" width=\"547\" height=\"1024\" class=\"aligncenter size-large wp-image-9238\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles-547x1024.png 547w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles-160x300.png 160w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles-768x1437.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles-821x1536.png 821w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles-600x1123.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles.png 875w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><br \/>\n<\/center><\/p>\n<p>Vamos agora entender os par\u00e2metros para realizar as configura\u00e7\u00f5es:<\/p>\n<p><strong>Priority<\/strong> \u2014 Mantenha essa prioridade<\/p>\n<p><strong>Role <\/strong>\u2014 Selecione o nome da role<\/p>\n<p><strong>Username<\/strong> \u2014 Se voc\u00ea deseja criar uma regra espec\u00edfica para um determinado usu\u00e1rio, selecione o nome, caso contr\u00e1rio, mantenha o valor selecionado como *<\/p>\n<p><strong>Service<\/strong> &#8211; Se voc\u00ea deseja criar uma regra espec\u00edfica para o servi\u00e7o (WMS, WFS, etc.), selecione o nome do servi\u00e7o, caso contr\u00e1rio, mantenha o valor selecionado como *<\/p>\n<p><strong>Request<\/strong> \u2014 Se voc\u00ea selecionar qualquer servi\u00e7o espec\u00edfico, as solicita\u00e7\u00f5es vinculadas a ele estar\u00e3o dispon\u00edveis para sele\u00e7\u00e3o<\/p>\n<p><strong>Workspace<\/strong> \u2014 Selecione a \u00e1rea de trabalho em qual sua camada pertence, mantendo * aplicar\u00e1 uma regra a todas as \u00e1reas de trabalho<\/p>\n<p><strong>Layer<\/strong> \u2014 Se voc\u00ea deseja aplicar a regra a uma camada espec\u00edfica na workspace selecionada, selecione o nome, mantendo * aplicar\u00e1 a regra a todas as camadas da workspace<\/p>\n<p><strong>IP Address range<\/strong> \u2014 O endere\u00e7o IP permitido que pode usar o geoserver pode ser escrito aqui, mantendo ele em branco tornar\u00e1 o geoservidor dispon\u00edvel globalmente<\/p>\n<p><strong>Access<\/strong> \u2014 Aqui definimos se queremos permitir que o usu\u00e1rio\/fun\u00e7\u00e3o selecionado acesse o espa\u00e7o de trabalho\/camada selecionado. as op\u00e7\u00f5es dispon\u00edveis s\u00e3o ALLOW (PERMITIR), DENY (NEGAR), LIMIT (LIMITAR).<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_general.png\" alt=\"\" width=\"340\" height=\"534\" class=\"aligncenter size-full wp-image-9246\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_general.png 340w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_general-191x300.png 191w\" sizes=\"auto, (max-width: 340px) 100vw, 340px\" \/><br \/>\n<\/center><\/p>\n<p><strong>Layer details<\/strong> \u2014 Se voc\u00ea selecionar um nome de camada espec\u00edfico, essa op\u00e7\u00e3o estar\u00e1 dispon\u00edvel. Aqui ser\u00e1 definida a regra de acordo com a especifica\u00e7\u00e3o da camada. Marque \u2705 a caixa de sele\u00e7\u00e3o &#8220;Specify Layer Details&#8221; para ver mais op\u00e7\u00f5es.<\/p>\n<p><strong>Allowed Styles<\/strong> \u2014 Aqui voc\u00ea pode definir o estilo permitido vis\u00edvel para o usu\u00e1rio, se deixado em branco, todos os estilos estar\u00e3o dispon\u00edveis<\/p>\n<p><strong>CQL Read Filter<\/strong> \u2014 Aqui voc\u00ea pode definir o filtro CQL que ser\u00e1 aplicado \u00e0 camada, limitando assim os recursos baseados a este filtro<\/p>\n<p><strong>CQL Write Filter<\/strong> \u2014 Aqui voc\u00ea pode definir o filtro que ser\u00e1 aplicado na solicita\u00e7\u00e3o de grava\u00e7\u00e3o (por exemplo, WFSTransaction)<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_cql.png\" alt=\"\" width=\"647\" height=\"373\" class=\"aligncenter size-full wp-image-9244\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_cql.png 647w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_cql-300x173.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_cql-600x346.png 600w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><br \/>\n<\/center><\/p>\n<p><strong>Allowed area (WKT)<\/strong> \u2014 Usando isso, voc\u00ea pode restringir a visibilidade dos recursos espec\u00edficos apenas para determinadas \u00e1reas. Como indica o r\u00f3tulo do campo, o formato aceito \u00e9 o WKT, como no exemplo abaixo:<\/p>\n<pre>\r\nPOLYGON ((-127.96875 -57.51582286553883, -32.34375 -57.51582286553883, -32.34375 31.952162238024975, -127.96875 31.952162238024975, -127.96875 -57.51582286553883))\r\n<\/pre>\n<p><strong>Layer Attributes<\/strong> \u2014 Selecione os atributos da camada que voc\u00ea deseja permitir que os usu\u00e1rios usem. Certifique-se de que o atributo de geometria esteja sempre ATIVADO para que voc\u00ea possa ver a camada. As op\u00e7\u00f5es dispon\u00edveis para sele\u00e7\u00e3o s\u00e3o:<\/p>\n<p>None \u2014 para ocultar o atributo<br \/>\nReadonly \u2014 Apenas para ler os dados, mas a transa\u00e7\u00e3o n\u00e3o ser\u00e1 permitida<br \/>\nReadwrite \u2014 O usu\u00e1rio pode ler e gravar este atributo<\/p>\n<p>PS: Lembre sempre de permitir o acesso ao campo geometria<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_layer_attr-1024x182.png\" alt=\"\" width=\"676\" height=\"120\" class=\"aligncenter size-large wp-image-9253\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_layer_attr-1024x182.png 1024w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_layer_attr-300x53.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_layer_attr-768x136.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_layer_attr-600x107.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_layer_attr-945x168.png 945w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_layer_attr.png 1244w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><br \/>\n<\/center><\/p>\n<p>Assim, todas as regras ser\u00e3o definidas. Veja:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_list-1024x185.png\" alt=\"\" width=\"676\" height=\"122\" class=\"aligncenter size-large wp-image-9242\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_list-1024x185.png 1024w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_list-300x54.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_list-768x139.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_list-600x109.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_list-945x171.png 945w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/geofence_data_roles_list.png 1227w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><br \/>\n<\/center><\/p>\n<p>Para criar as regras acima, na guia &#8220;Layer Details&#8221; foram usados os campos de CQL para todas as regras que continham as roles brasil_gov e brasil_public. Para a regra latam, n\u00e3o foi utilizado o campo CQL e sim o campo WKT, passando um pol\u00edgono com as dimens\u00f5es da Am\u00e9rica Latina.<\/p>\n<p><strong>3. Testes<\/strong><\/p>\n<p>Quando fizermos login como <strong>gov<\/strong>, veremos os seguintes dados:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_gov.png\" alt=\"\" width=\"455\" height=\"405\" class=\"aligncenter size-full wp-image-9262\" \/><br \/>\n<\/center><\/p>\n<p>Quando fizermos login como <strong>class_1<\/strong>, veremos os seguintes dados:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_class1.png\" alt=\"\" width=\"445\" height=\"418\" class=\"aligncenter size-full wp-image-9269\" \/><br \/>\n<\/center><\/p>\n<p>Quando fizermos login como <strong>class_2<\/strong>, veremos os seguintes dados:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_class2.png\" alt=\"\" width=\"490\" height=\"405\" class=\"aligncenter size-full wp-image-9268\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_class2.png 981w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_class2-300x248.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_class2-768x634.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_class2-600x495.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_class2-945x780.png 945w\" sizes=\"auto, (max-width: 490px) 100vw, 490px\" \/><br \/>\n<\/center><\/p>\n<p>Quando fizermos login <strong>normal<\/strong>, veremos os seguintes dados:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_normal.png\" alt=\"\" width=\"490\" height=\"367\" class=\"aligncenter size-full wp-image-9267\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_normal.png 980w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_normal-300x225.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_normal-768x576.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_normal-600x450.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_normal-945x709.png 945w\" sizes=\"auto, (max-width: 490px) 100vw, 490px\" \/><br \/>\n<\/center><\/p>\n<p>Quando fizermos login como <strong>latam_user<\/strong>, veremos os seguintes dados:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_latam.png\" alt=\"\" width=\"490\" height=\"376\" class=\"aligncenter size-full wp-image-9266\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_latam.png 981w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_latam-300x230.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_latam-768x589.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_latam-600x460.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2022\/03\/testes_latam-945x724.png 945w\" sizes=\"auto, (max-width: 490px) 100vw, 490px\" \/><br \/>\n<\/center><\/p>\n<p>Este material foi baseado no post &#8220;<a href=\"https:\/\/medium.com\/random-gis-talks\/using-geofence-to-add-layer-level-security-in-geoserver-471493e4d80\" rel=\"noopener\" target=\"_blank\">Using Geofence to add layer level security in Geoserver<\/a>&#8221; escrito originalmente por Krishna G. Lodha<\/p>\n<p>Fonte: <a href=\"https:\/\/medium.com\/@krishnaglodha\" rel=\"noopener\" target=\"_blank\">Blog Krishna G. Lodha<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O sistema de seguran\u00e7a do Geoserver \u00e9 muito bom por si s\u00f3. Ele permite criar v\u00e1rios Pap\u00e9is, Grupos, Usu\u00e1rios e fazer combina\u00e7\u00f5es entre eles, protegendo nossos dados. Caso voc\u00ea n\u00e3o conhe\u00e7a o sistema de seguran\u00e7a do GeoServer temos uma s\u00e9rie&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2022\/03\/11\/usando-geofence-para-adicionar-seguranca-em-nivel-de-camada-no-geoserver\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":9202,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[349,208,61],"class_list":["post-9199","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","tag-geofence","tag-geoserver","tag-seguranca"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/9199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=9199"}],"version-history":[{"count":54,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/9199\/revisions"}],"predecessor-version":[{"id":9273,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/9199\/revisions\/9273"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/9202"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=9199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=9199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=9199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}