When you create your page inheriting from OCSComponent you inherit all the 
methods including all managing your currentUser. Just override those. I would 
think that solves your problem without too much of legwork.

Have fun
---markus---

> On 9 Jan 2022, at 10:21, ocs--- via Webobjects-dev 
> <webobjects-dev@lists.apple.com> wrote:
> 
> Hi there,
> 
> I've got a pretty old application, the standard structure: there's Session 
> which (among others) contains a property currentUser containing the user who 
> has logged in and in whose account changes are performed. There is an 
> OCSComponent extends ERXComponent with generic component services (many of 
> which depend on session and/or its currentUser), and all my components 
> inherit this.
> 
> Now I've got a new request to allow a given user to connect to _one specific 
> page_ in the application through a specific URL _without a login_ and do his 
> work in that page.
> 
> I can easily generate appropriate URL for a direct action, which would set up 
> a session and open the desired page, that's easy.
> 
> What I can't quite see is how to prevent the user to go elsewhere in the 
> application (e.g., by manually editing the URL) and stay logged in. Is there 
> some trick for that?
> 
> So far I could think of two solutions:
> 
> (i) add a property allowedPage to Session, and in my direct action set it up 
> appropriately. Then in the shared component awake at OCSComponent level I 
> could check whether this==allowedPage and log out the user if not.
> 
> This looks like a good solution, but I am not entirely sure whether I am not 
> overlooking some tricky way the user still might stay logged in and get to 
> another page (without its awake performed)... is it completely safe?
> 
> (ii) write a complete new page code (ERXComponent-based, skipping 
> OCSComponent altogether) for the specific page, which would contain and use 
> its own component-level currentUser. The direct action would set this up and 
> leave session.currentUser empty.
> 
> This is self-evidently completely safe, but a _lot_ of legwork :/
> 
> Can you see another, better solution? Or can you see that (i) is indeed safe 
> enough?
> 
> Thanks and all the best (especially happy and successful new year),
> OC
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/dominik.huber%40rucotec.ch
> 
> This email sent to dominik.hu...@rucotec.ch

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to