Hi Walter,

> I’ll see if I can get to that.  I saw a note about the integrated server
> being more limited – with no more info than that.

The limitation is only in the rule editor. 
In the "native" GUI you can also filter requests by source IP address.
Furthermore you can specify permissions at a finer level inside a layer, by 
assigning readonly, r/w, hide permissions to feature attributes, by denying 
access to set of features using CQL and so on.
You may add these details to the rules using the REST interface.


> a)      You can’t filter transactions by type (Insert, Update, Delete).  So

Indeed at the moment the filtering can only be done at service+operation level.

> b)      As of my last review a LIMIT rule could not specify feature
> attributes. 

The LIMIT rule may be associated to any ALLOW rule. It means that the 
LIMITation should be as generic as possible to be meaningful when associated 
to any layer. So, you can perform an area limitation (because you can 
intersect the area with any layer), but you cannot limit attributes, because 
attributes names are only related to a single layer, and could be misleading 
when such attribute limitation is applied to a different layer.
These are the motivation about the current implementation; any suggestion 
about improving the LIMIT filtering is welcome.

> For geofence it appears that
> the master branch is what’s compatible with geoserver 2.8?  

Exactly. In order to have GeoFence embbedded in GeoServer some APIs needed to 
be changed. So we branched GeoFence: we have the 2.2.x branch that is 
compatible with GeoServer <=2.7, while the GeoFence master branch, which is 
the 3.0 version, will work with GeoServer 2.8 and master.

> Maybe there
> will be a release of a stable geofence that matches geoserver 2.8?

Well, GeoFence 3 was branched before the release of GeoServer 2.8. 
I guess it's time to create a stable version 3.0.0 and move on with the 3.1.0-
SNAPSHOT.

   Cheers,
   Emanuele


Alle 10:37:04 di Tuesday 20 October 2015, Walter Stovall ha scritto:
> I’ll see if I can get to that.  I saw a note about the integrated server
> being more limited – with no more info than that.
> I already have couple
> problems where I’ll need to enhance geofence.
> 
> a)      You can’t filter transactions by type (Insert, Update, Delete).  So
> for example you can’t allow updates but prevent insert/delete.
> 
> b)      As of my last review a LIMIT rule could not specify feature
> attributes.  This is not a deal killer but leads to duplicating attribute
> restrictions in various ALLOW rules whereas it would be better for LIMIT
> rules to cumulatively limit attributes before reaching an ALLOW that just
> opens the gate so to speak.
> 
> I got around my eclipse-debugging problem by deploying to a local tomcat
> and attaching the debugger remotely.  I was never able to install a 2.1.1
> GTW SDK in eclipse.
> 
> I’m in the process of nailing down my development to stable releases of
> geoserver/geofence.  Using geoserver 2.8.  For geofence it appears that
> the master branch is what’s compatible with geoserver 2.8?  Maybe there
> will be a release of a stable geofence that matches geoserver 2.8?
> 
> Thanks – Walter
> 
> From: Jody Garnett [mailto:jody.garn...@gmail.com]
> Sent: Monday, October 19, 2015 11:19 AM
> To: Walter Stovall; geoserver-devel@lists.sourceforge.net
> Subject: Re: [Geoserver-devel] Unable to run geofence under eclipse
> 
> If possible it would be great if you can try out the geofence integration
> in 2.8 ( you will need to build plugin from source but we would love the
> feedback ). On Mon, Oct 19, 2015 at 2:56 AM Walter Stovall
> <walter.stov...@byers.com<mailto:walter.stov...@byers.com>> wrote: Using
> the latest eclipse and the master branch of geofence.  I’m following
> eclipse setup instructions at
> https://github.com/geoserver/geofence/wiki/Building-instructions
> 
> My problem may be related to the GWT SDK version.  I went to
> https://developers.google.com/eclipse/docs/download to install the latest
> GWT plugin.  But the instructions say to use GWT 2.1.1.  So I downloaded
> and unzipped the gwt-2.1.1.zip file.  Then in eclipse I go to
> Window->Preferences->Google->App Engine->Add and point to my unzipped
> 2.1.1.  But eclipse shows an error “Failed to initialize App Engine SDK at
> C:\...”.  The app engine SDK appears to be a good install – at least
> creating the sample MyWebApp with it works.
> 
> I tried running with the latest SDK but some of the switches in the
> launch-config arguments are not valid in that SDK – I think this direction
> is a wrong-turn.
> 
> Does anybody know how to get past this?
> 
> Looking in the eclipse log I find…
> !ENTRY com.google.appengine.eclipse.core 4 0 2015-10-19 05:45:47.604
> !MESSAGE GAE SDK gwt-2.1.1 failed validation
> !STACK 1
> org.eclipse.core.runtime.CoreException: Failed to initialize App Engine SDK
> at C:\byers\git\GoogleWebToolkit\gwt-2.1.1 at
> com.google.appengine.eclipse.core.sdk.AppEngineBridgeFactory.createBridge(
> AppEngineBridgeFactory.java:194) at
> com.google.appengine.eclipse.core.sdk.AppEngineBridgeFactory.createBridge(
> AppEngineBridgeFactory.java:122) at
> com.google.appengine.eclipse.core.sdk.AppEngineBridgeFactory.getAppEngineB
> ridge(AppEngineBridgeFactory.java:95) at
> com.google.appengine.eclipse.core.sdk.GaeSdk.getAppEngineBridge(GaeSdk.jav
> a:325) at
> com.google.appengine.eclipse.core.sdk.GaeSdk.validate(GaeSdk.java:498) at
> com.google.gdt.eclipse.core.ui.AddSdkDialog.validateSdk(AddSdkDialog.java:
> 273) at
> com.google.gdt.eclipse.core.ui.AddSdkDialog.validate(AddSdkDialog.java:213
> ) at
> com.google.gdt.eclipse.core.ui.AddSdkDialog$4.modifyText(AddSdkDialog.java
> :176) at
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:179)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at
> org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) at
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) at
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1137) at
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1118) at
> org.eclipse.swt.widgets.Text.wmCommandChild(Text.java:3071) at
> org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:4824) at
> org.eclipse.swt.widgets.Control.windowProc(Control.java:4679) at
> org.eclipse.swt.widgets.Display.windowProc(Display.java:5050) at
> org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at
> org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2443) at
> org.eclipse.swt.widgets.Text.callWindowProc(Text.java:260) at
> org.eclipse.swt.widgets.Control.windowProc(Control.java:4774) at
> org.eclipse.swt.widgets.Text.windowProc(Text.java:2671) at
> org.eclipse.swt.widgets.Display.windowProc(Display.java:5050) at
> org.eclipse.swt.internal.win32.OS.SetWindowTextW(Native Method) at
> org.eclipse.swt.internal.win32.OS.SetWindowText(OS.java:3473) at
> org.eclipse.swt.widgets.Text.setText(Text.java:2296) at
> com.google.gdt.eclipse.core.ui.AddSdkDialog$2.widgetSelected(AddSdkDialog.
> java:153) at
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at
> org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) at
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) at
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) at
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) at
> org.eclipse.jface.window.Window.runEventLoop(Window.java:827) at
> org.eclipse.jface.window.Window.open(Window.java:803) at
> com.google.appengine.eclipse.core.preferences.ui.GaePreferencePage$1.doAdd
> Sdk(GaePreferencePage.java:90) at
> com.google.gdt.eclipse.core.ui.SdkTable$3.widgetSelected(SdkTable.java:242
> ) at
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at
> org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) at
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) at
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) at
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) at
> org.eclipse.jface.window.Window.runEventLoop(Window.java:827) at
> org.eclipse.jface.window.Window.open(Window.java:803) at
> org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPr
> eferenceDialog.java:211) at
> org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.ja
> va:63) at org.eclipse.jface.action.Action.runWithEvent(Action.java:473) at
> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Acti
> onContributionItem.java:595) at
> org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributio
> nItem.java:511) at
> org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContri
> butionItem.java:420) at
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at
> org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) at
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) at
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) at
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) at
> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRen
> deringEngine.java:1127) at
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:33
> 7) at
> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRende
> ringEngine.java:1018) at
> org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbenc
> h.java:156) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:33
> 7) at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598
> ) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
> at
> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplicatio
> n.java:139) at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.jav
> a:196) at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplicatio
> n(EclipseAppLauncher.java:134) at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Eclipse
> AppLauncher.java:104) at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:38
> 0) at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:23
> 5) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 57) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm
> pl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at
> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) at
> org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) at
> org.eclipse.equinox.launcher.Main.run(Main.java:1515) Caused by:
> java.lang.NoClassDefFoundError:
> com/google/apphosting/utils/config/AppEngineConfigException at
> java.lang.Class.getDeclaredConstructors0(Native Method) at
> java.lang.Class.privateGetDeclaredConstructors(Class.java:2585) at
> java.lang.Class.getConstructor0(Class.java:2885) at
> java.lang.Class.newInstance(Class.java:350)
>                 at
> com.google.appengine.eclipse.core.sdk.AppEngineBridgeFactory.createBridge(
> AppEngineBridgeFactory.java:189) ... 77 more
> Caused by: java.lang.ClassNotFoundException:
> com.google.apphosting.utils.config.AppEngineConfigException at
> java.net.URLClassLoader$1.run(URLClassLoader.java:366) at
> java.net.URLClassLoader$1.run(URLClassLoader.java:355) at
> java.security.AccessController.doPrivileged(Native Method) at
> java.net.URLClassLoader.findClass(URLClassLoader.java:354) at
> java.lang.ClassLoader.loadClass(ClassLoader.java:425) at
> java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 82 more
> ---------------------------------------------------------------------------
> --- _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net<mailto:Geoserver-devel@lists.sourcefo
> rge.net> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
> --
> --
> Jody Garnett


-- 
==
GeoServer Professional Services from the experts! 
Visit http://goo.gl/NWWaa2 for more information.
==

Ing. Emanuele Tajariol
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax:    +39 0584 1660272
mob:   +39  380 2116282 

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

------------------------------------------------------------------------------
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to