Hi,
if I understand right, @InterceptedCall is a _client_ side interceptor,
so I would not spend too much effort there :-)
Summarizing our experience concerning security w/ Errai-Bus:
- only server side security means _security_
- "logged in" is a conception, which is most critical server side,
the client may not know about current state - checking client side won't
really help
- Errai-Bus is to be regarded as "outside" of container security
context, because:
- communication shall _normally_ not be prohibited by security
- see Bus setup, Login-message
- once a message is received, it will be executed
- modern EE6/CDI interceptors are very easy to apply to service
beans (that's where they belong according EE), frameworks exist
(container based security, PicketLink), unconstrained by GWT JRE
emulation, Errai mapping..
- it would help to have some set of _RuntimeExceptions_ for typical
cross cutting concerns like security/validation.. handled naturally by
the bus - see "no boiler-plate" :)
Regards,
Thomas
Am 01.05.2013 16:37, schrieb Rodney Russ:
As I understand it, the PicketLink Core library is an annotation
driven security model. Can it be applied here?
-Rodney
On Apr 30, 2013 11:57 AM, "Christian Sadilek" <[email protected]
<mailto:[email protected]>> wrote:
Hi,
We could come back to an idea we had a while ago: introducing
annotation aliasing or macros (as Mike called it). It would allow
us to define an annotation say @UiProperty that means the same as
@Inject @Bound @DataField. We could extend that concept to also
include annotation values and then define @RequireAuthentication
to mean @InterceptedCall(SecurityInterceptor.class). This would
mainly be an addition to errai-codegen. The existing generators
would stay the same.
The reason the current interceptor solution is not aligned with
CDI is that it focuses on remote calls (which are asynchronous and
therefore require a more complex call context for manipulating
async results) and that it also needs to work without CDI (say in
plain bus apps).
Of course, nothing stops from extending this concept further….
Cheers,
Christian
On 2013-04-30, at 1:15 PM, Erik Jan de Wit <[email protected]
<mailto:[email protected]>> wrote:
Hi Guys,
What I like in a lot of security frameworks is that one can
secure method calls with a simple annotation. So my idea was that
we could make something like @RequireAuthentication on the remote
interface and that would not allow the call if nobody is logged
in. We could develop something like this based on
the InterceptedCall functionality, but because of the
way InterceptedCall is setup there is no way to make another
annotation behave like InterceptedCall. To make it a bit more
clear i cannot define an annotation like this:
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
@InterceptedCall(SecurityInterceptor.class)
public @interface RequireAuthentication {
}
and have the SecurityInterceptor invoked the only way I can do it
is by annotating the methods with:
@InterceptedCall(SecurityInterceptor.class)
Why now have it more like the CDI interceptor api
http://docs.oracle.com/javaee/6/api/javax/interceptor/InterceptorBinding.html
This gives me the ability to lousily couple the annotation with
the interceptor are there reasons for the model that is
implemented now? Can we change it so that it will be more
flexible? Or shall we stick with how it's is now and extend the
functionality to make it work with my example annotation?
Cheers,
Erik Jan
_______________________________________________
errai-dev mailing list
[email protected] <mailto:[email protected]>
https://lists.jboss.org/mailman/listinfo/errai-dev
_______________________________________________
errai-dev mailing list
[email protected] <mailto:[email protected]>
https://lists.jboss.org/mailman/listinfo/errai-dev
_______________________________________________
errai-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/errai-dev
_______________________________________________
errai-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/errai-dev