I've been playing around with remoting for a while. Now that I've actually started a serious project with it, I've run into something important: How can you implement the shared object so that only the server can trigger certain events?
suppose:

Code:
// ...
public delegate void AdminTriggeredEvent(/* .... */ );

public interface IWellKnownInterface
{
    /*
    ....
    */
    event AdminTriggeredEvent AdminEvent;    
};



Without, for example, using a public / private key encryption to verify the sender of every event (which would be very inefficient), any client could trigger this event.

Thoughts?