On the first cut this looks like authentication/authorization for Spring
framework. Do I need to get struts co-exist with spring for this to work ?
And how much of an effort would that be?
 But yes.. this looks quite a powerful and neat concept.
 Thanks for refering it.
 Regards,
Raghu


 On 11/20/05, Laurie Harper <[EMAIL PROTECTED]> wrote:
>
> Take a look at the Acegi Security project. It provides *extremely*
> powerful declarative security capabilities, upto and including filtering
> database query results to exclude things the current user shouldn't be
> able to see. It might be exactly what you're looking for.
>
> L.
>
> Raghu Kanchustambham wrote:
> > Hi,
> > I could successfully place my authentication scheme in place using the
> > article at
> > http://www.jroller.com/comments/tomdz?anchor=using_jaas_with_struts_a
> > I also could place "resource" level authorization in place. However the
> > definition of resource is the "traditional" action mapping. However I
> have a
> > requirement which goes beyond that. I have a centre based roles. Let us
> say
> > my application could be used by administrators at three centres. The
> trick
> > is that all of them can view the set of "resources"... but in a
> particular
> > JSP they are authorized to use only certain values for some of the
> fields.
> > For example, a Hyderabad administrator can view reports pertaining to
> > Hyderabad only and should not be allowed to see reports of Bangalore
> centre.
> > Which let us say in UI terms would translate to a dropdown of cities ..
> for
> > the Bangalore administrator... he probably can see the dropdown populate
> > with Bangalore... the Hyderabad admin sees it populated only with
> Hyderabad
> > and a HeadOffice admin sees all the cities in the cities dropdown.
> > What is the best way to achieve this?
> > One approach is to create a separate role for each centre user. For
> > example... have a role called Bangalore_Admin and Hyderabad_Admin etc.
> But
> > obvious drawback is that this approach won't scale well with the
> increase in
> > the number of centres.
> > The other approach I was thinking is writing code myself. Introduce a
> > column for centre in the user table. From the
> > request.getUserPrincipal().getName()
> > funcion I determine the user... hit the database to determine the centre
> and
> > then filter the cities based on the city and the role.
> > I don't like this approach because I have lost the advantages of a
> > declarative style of defining security permissions. Also, now my
> > authorization code would be mixed allover and would be difficult to
> change
> > the authorization policies on a later date.
> > The third approach is similar to the second one. Instead of defining a
> > centre at the user level, I could do it at the user_role mapping level.
> > User1 is the administrator of Hyderabad centre. He could be a regular
> user
> > for another centre (say Bangalore). Slightly better than second approach
> but
> > suffers from similar problems.
> > Is there a way that my getUserPrincipal() can be made to give me this
> extra
> > piece of information about the centre? That would make my code look lot
> > cleaner. I dont have to hit back the database just to find the centre.
> > Please comment.
> > Thanks much.
> > Regards,
> > Raghu
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to