For reference, I've solved this as follows:

For pages requiring a logged-in user:
* I've added a method #gotoLoggedIn: to WAAnchorTag which I use instead of #goto: when linking to pages which assume a logged in user.
* The implementation of #gotoLoggedIn: creates a login/registration command if "self context isLoggedIn not". The command stores the destination structure which is passed to the #gotoLoggedIn: method as a parameter.
* If the login/registration command completes successfully, the destination structure is set in the context.

For actions requiring a logged-in user:
* I've added an extension method #requiresLogin to PRCommand which by default returns false.
* In #onChangeContext: of my derived from PRContentsWidget class, I check to see if (aContext isLoggedIn not and: [aContext command requiresLogin])
* I then set the context command to be my login/registration command and storing the initial command in the login/registration command.
* If the login/registration command completes successfully, the original command is set in the context.

Cheers

Nick

On 17 May 2010 11:44, Nick Ager <nick.ager@gmail.com> wrote:
Hi,

I'd like to flag various pages in my site as being only valid if the user is logged in. I've an action which creates a popup login/registration dialog and ideally I'd like to tie to two together so that pages that are flagged as requiring a user will display the popup login/registration dialog. 
Has anyone developed anything like this before or any thoughts on how to hook into Pier to provide the required behaviour?

Thanks

Nick