Re: high level design from wiki
"Luciano Resende" <[email protected]> Sun, 20 Jul 2008 12:35:57 -0700
| Newsgroups | gmane.comp.apache.incubator.projects |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Jul 20, 2008 at 5:56 AM, Roland Weber <[email protected]> wrote: > Hi Noel, > >>> * Should the user management default be Apache Directory or a >>> simple database? >> >> User management is ambiguous. Are we talking about authentication? >> Authorization? And we should probably not be dependent on a particular >> repository type. > > That was the only occurrence of the term that I left in the > proposal :-) Since Apache Directory was mentioned, I found > it unambiguous there. The real choice is of course LDAP or > relational DB. I see two things here : - Someone enter the gallery as a "guest user" and have access to all public albums and pictures. - Someone enter the gallery, sign in as a user, and gain admin access to all the albums owned by the user, as well as access to other public albums and pictures. Mapping this to some requirements : There is a need for authentication, and authorization that would consider some kind of user -> role mapping by album. Authentication should be flexible, and quoting Noel, "we should probably not be dependent on a particular repository type". As for the default one, I think we should consider the deployment steps required for a user to get the gallery up and running, and use the ones that keep these steps to a minimum. We also need to define how we are going to identify the "friends", from what we are discussing, each one will have to create a login, and then we need to allow each album owner to restrict/give access to these friends. > >>> * How will access control be implemented? >> >> TBD, and it may exist at different control points, e.g., at the business >> logic level (container or component managed) and data store level >> (JCR/JackRabbit). > > Good point. Having the access control done on the data store level allows low level services (e.g REST access to pictures) to leverage the access control in place without much extra code. > >>> * Will the Web service just provide data for machine to machine >>> exchanges or will it default to human readable? >> >> I doubt that the "Web service" would be in any way human readable, by >> default or otherwise. > > :-) +1 > >>> Access control should provide the option to mark photos as public >>> (anyone), protected (invite only), or private (just the owner). >>> Options for managing the invites for each user are LDAP or a simple >>> database. Permission checking can be implemented in the backend >>> as a Jackrabbit access manager or in an application layer. Candidate >>> technologies are JAAS and JSecurity, which both allow for pluggable >>> authentication. >> >> As noted above, access control (authorization) can be handled at multiple >> points. The surface area related to authorization should be strictly >> limited, and not pervasive. > > Agreed. The "or" was meant as an exclusive-or. > > cheers, > Roland > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/