Re: [Wicket-user] wicket security and acl files

2007-06-30 Thread Maurice Marrink
  A subject is the root/ abstract entity for a user, principals are
  views or identities of a subject

Well I'm glad we all agree on that one :)
However as Eelco said a principal can be much more than just a role.
So i am a little reluctant to rename Principal to Role.

If i wanted to i could even use the Swarm Subjects as Roles (although
that would be a really long stretch, and certainly not recommended :)
). And although the fact that you can use principals / subjects in
several ways might make it less clear from the start how to use them,
that is also there power as it gives you greater flexibility on how to
set up your security.

That being said i am still open for renaming suggestions, i just don't
think role should be it.

 an application that is more fluid and tenants can create their own structure
 of roles.
I am sorry that you feel swarm does not accommodate you enough in this
field. But I welcome you to build upon wasp and enrich the wicket
community with your work.
Looking at swarm should have given you a pretty clear picture of the
security building blocks in wicket.

Maurice



On 6/29/07, Craig Lenzen [EMAIL PROTECTED] wrote:

  A subject is the root/ abstract entity for a user, principals are
  views or identities of a subject and in JAAS you would represent a
  role as a principal.

 I agree with your statement which leads me to the fact that the principal
 should really be a role in swarm and the hive file is a mapping of a role to
 given permissions and actions.  So back to what I said before, swarm is
 really nice when you have an application with pre-defined roles instead of
 an application that is more fluid and tenants can create their own structure
 of roles.

 -Craig


 Eelco Hillenius wrote:
 
  Right now swarm operates the following way: A user is associated with
  1 or more Subjects, each Subject has 0 or more Principals.
 
  This sounds right to me, and is like how JAAS works.
 
  A subject is the root/ abstract entity for a user, principals are
  views or identities of a subject and in JAAS you would represent a
  role as a principal.
 
  As JAAS is the default authorization mechnism in Java, it is arguably
  the 'industry standard' (for Java). Whether it is what you prefer is
  another question. I think people find users/ roles easier to
  understand, but personally I like the more abstracted model of JAAS;
  whether you want to model groups, roles a combination of the two or
  even something different, it fits seamlessly.
 
  My 2c,
 
  Eelco
 
  -
  This SF.net email is sponsored by DB2 Express
  Download DB2 Express C - the FREE version of DB2 express and take
  control of your XML. No limits. Just data. Click to get it now.
  http://sourceforge.net/powerbar/db2/
  ___
  Wicket-user mailing list
  Wicket-user@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wicket-user
 
 

 --
 View this message in context: 
 http://www.nabble.com/wicket-security-and-acl-files-tf3960558.html#a11364093
 Sent from the Wicket - User mailing list archive at Nabble.com.


 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket security and acl files

2007-06-29 Thread Maurice Marrink
Neither am i :) And you could be right about me misusing the
principal, but using the actions of a permission for read write and
then logically separating permissions with read from permissions with
write in different principals does not seem like stretch to me.

Maurice

On 6/29/07, craigdd [EMAIL PROTECTED] wrote:

 I understand what you are saying and I see how you have accomplished
 something similar to what I'm trying to do, however it seems to me that you
 are miss using the concept of a Principal.  I'm not a security expert but a
 principal seems to point to an individual and not with something called
 write.  Write fits a little better into the concepts of ACL.

 -Craig


 Mr Mean wrote:
 
  By the way, I'm not saying wicket security is bad, other than my example
  I
  think it is a well put together framework that beats the hell out of
  using
  JAAS.
 
  Thanks, i appreciate that :)
 
  I've had a pretty good look at wicket security but the conclusion that
  I've
  come to with that is it only supports the fact that you have pre defined
  roles within your application.
 
 
  Well i am not saying it is impossible to declare and add new
  permissions / principals at runtime but i think it is generally
  undesirable to do so. Instead you should make your principals fine
  grained enough to be used as building blocks for  roles.
 
  I'm currently working on a multi tenant web application where the
  application provided a set of permission, such and read / write access to
  an
  object and each tenant in the application defines their own role heirachy
  based on those permissions.
 
  This is exactly what we are doing in our application. We have
  literally +- 1000 principals defined in our system. By allowing the
  users to group principals together they can build there own roles. We
  have multiple organizations in our application and each of them can
  completely redesign there user roles in the system (well only up to a
  point because we could not allow that, but that aside they could). We
  provide each organization with a set of default roles as we think will
  suit most of them but they are completely free to alter/ rename/
  delete/ whatever do with those roles because we do not depend on the
  roles but on the underlying principals, which are controlled by us. A
  big help is the fact that we made our principals imply each other
  (write implies read, etc)  So when a user designs there roles they
  don't have to check read access to page A and write access to page A
  but can suffice with write access to page A. Although most of our
  principals handle a couple of related pages we also have principals
  going as deep as individual components. For instance we have a large
  data grid, the principals are fine grained enough to give you read or
  write access up to the individual cell.
 
  Correct me if i am wrong but this seems to be what you want too.
 
  Maurice
 
 
  On 6/28/07, craigdd [EMAIL PROTECTED] wrote:
 
  I've had a pretty good look at wicket security but the conclusion that
  I've
  come to with that is it only supports the fact that you have pre defined
  roles within your application.
 
  I'm currently working on a multi tenant web application where the
  application provided a set of permission, such and read / write access to
  an
  object and each tenant in the application defines their own role heirachy
  based on those permissions.
 
  We are currently using acegi and I'm trying to figure out the best way to
  bake acl into wicket's components.  Example, a link is set to invisible
  if
  the authenticated use doesn't contain a role with the given permission of
  that link.  So lets say the link is to delete an object, the user must
  have
  a role with the permission to delete that object or the link will not
  show
  on the page.
 
  By the way, I'm not saying wicket security is bad, other than my example
  I
  think it is a well put together framework that beats the hell out of
  using
  JAAS.
 
  -Craig
 
 
  Mr Mean wrote:
  
   If you mean java Jaas like acl than swarm is what you are looking for.
   Optionally if you really want to use jaas and not some look alike i
   made up you could practically copy swarm and replace most objects with
   there jaas counterparts.
   However i chose not to use jaas because  we are using that in one of
   our projects right now and although it works it is less than optimal
   :) As soon as we make the switch to wicket 1.3.0 jaas will be replaced
   by swarm.
  
   You can also check out the example project here
  
  https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicket-security-examples
  
  
   Maurice
  
   On 6/21/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
   wicket's security model is completely generic
  
   see IAuthorizationStrategy - it is very abstract and thus can be used
  to
   implement any kind of authorization
  
   wicket-auth is just an example that implements basic role-based model
  
   see 

Re: [Wicket-user] wicket security and acl files

2007-06-29 Thread Igor Vaynberg

take maurice's post and substitute word permission for word principal,
define user/principal as an object that has a set of permissions, and it
makes perfect sense.

-igor



On 6/28/07, craigdd [EMAIL PROTECTED] wrote:



I understand what you are saying and I see how you have accomplished
something similar to what I'm trying to do, however it seems to me that
you
are miss using the concept of a Principal.  I'm not a security expert but
a
principal seems to point to an individual and not with something called
write.  Write fits a little better into the concepts of ACL.

-Craig


Mr Mean wrote:

 By the way, I'm not saying wicket security is bad, other than my
example
 I
 think it is a well put together framework that beats the hell out of
 using
 JAAS.

 Thanks, i appreciate that :)

 I've had a pretty good look at wicket security but the conclusion that
 I've
 come to with that is it only supports the fact that you have pre
defined
 roles within your application.


 Well i am not saying it is impossible to declare and add new
 permissions / principals at runtime but i think it is generally
 undesirable to do so. Instead you should make your principals fine
 grained enough to be used as building blocks for  roles.

 I'm currently working on a multi tenant web application where the
 application provided a set of permission, such and read / write access
to
 an
 object and each tenant in the application defines their own role
heirachy
 based on those permissions.

 This is exactly what we are doing in our application. We have
 literally +- 1000 principals defined in our system. By allowing the
 users to group principals together they can build there own roles. We
 have multiple organizations in our application and each of them can
 completely redesign there user roles in the system (well only up to a
 point because we could not allow that, but that aside they could). We
 provide each organization with a set of default roles as we think will
 suit most of them but they are completely free to alter/ rename/
 delete/ whatever do with those roles because we do not depend on the
 roles but on the underlying principals, which are controlled by us. A
 big help is the fact that we made our principals imply each other
 (write implies read, etc)  So when a user designs there roles they
 don't have to check read access to page A and write access to page A
 but can suffice with write access to page A. Although most of our
 principals handle a couple of related pages we also have principals
 going as deep as individual components. For instance we have a large
 data grid, the principals are fine grained enough to give you read or
 write access up to the individual cell.

 Correct me if i am wrong but this seems to be what you want too.

 Maurice


 On 6/28/07, craigdd [EMAIL PROTECTED] wrote:

 I've had a pretty good look at wicket security but the conclusion that
 I've
 come to with that is it only supports the fact that you have pre
defined
 roles within your application.

 I'm currently working on a multi tenant web application where the
 application provided a set of permission, such and read / write access
to
 an
 object and each tenant in the application defines their own role
heirachy
 based on those permissions.

 We are currently using acegi and I'm trying to figure out the best way
to
 bake acl into wicket's components.  Example, a link is set to invisible
 if
 the authenticated use doesn't contain a role with the given permission
of
 that link.  So lets say the link is to delete an object, the user must
 have
 a role with the permission to delete that object or the link will not
 show
 on the page.

 By the way, I'm not saying wicket security is bad, other than my
example
 I
 think it is a well put together framework that beats the hell out of
 using
 JAAS.

 -Craig


 Mr Mean wrote:
 
  If you mean java Jaas like acl than swarm is what you are looking
for.
  Optionally if you really want to use jaas and not some look alike i
  made up you could practically copy swarm and replace most objects
with
  there jaas counterparts.
  However i chose not to use jaas because  we are using that in one of
  our projects right now and although it works it is less than optimal
  :) As soon as we make the switch to wicket 1.3.0 jaas will be
replaced
  by swarm.
 
  You can also check out the example project here
 

https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicket-security-examples
 
 
  Maurice
 
  On 6/21/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
  wicket's security model is completely generic
 
  see IAuthorizationStrategy - it is very abstract and thus can be
used
 to
  implement any kind of authorization
 
  wicket-auth is just an example that implements basic role-based
model
 
  see wicket-stuff wasp and swarm projects
 
  http://wicketstuff.org/confluence/display/STUFFWIKI/Wicket-Security
 
  -igor
 
 
  On 6/21/07, craigdd [EMAIL PROTECTED] wrote:
  
   Is wicket security based only on 

Re: [Wicket-user] wicket security and acl files

2007-06-29 Thread Maurice Marrink
Actually that is already how they work. Even though the Principal
class does not have methods for getting and setting the Permissions.
The mapping is done in the policy file like this.

grant principal ${RechtenSet} PageA.read
{
//read permission for all of page A
permission ${ComponentPermission}
nl.topicus.krypton.web.pages.PageA, inherit, render;
};
grant principal ${RechtenSet} PageA.write
{
//write permission for all form components on page A
permission ${ComponentPermission}
nl.topicus.krypton.web.pages.PageA:form, inherit, enable;
};
grant principal ${RechtenSet} PageA.delete
{
//allow separate delete links to be clicked
permission ${ComponentPermission}
nl.topicus.krypton.web.pages.PageA:deleteLink1, enable;
permission ${ComponentPermission}
nl.topicus.krypton.web.pages.PageA:deleteLink2, enable;
};

I know the api doc for principal states which can be used to
represent any entity, such as an individual, a corporation, or a login
id. I admit it is shamelessly copied from java.security.Principal :)
And now that i think about i can see the way we use principals like
permissions now actually comes from our dealings with jaas. But i
still feel it is not a big issue. I'll just rewrite the api doc ;)

Maurice

On 6/29/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
 take maurice's post and substitute word permission for word principal,
 define user/principal as an object that has a set of permissions, and it
 makes perfect sense.

 -igor




  On 6/28/07, craigdd [EMAIL PROTECTED] wrote:
 
  I understand what you are saying and I see how you have accomplished
  something similar to what I'm trying to do, however it seems to me that
 you
  are miss using the concept of a Principal.  I'm not a security expert but
 a
  principal seems to point to an individual and not with something called
  write.  Write fits a little better into the concepts of ACL.
 
  -Craig
 
 
  Mr Mean wrote:
  
   By the way, I'm not saying wicket security is bad, other than my
 example
   I
   think it is a well put together framework that beats the hell out of
   using
   JAAS.
  
   Thanks, i appreciate that :)
  
   I've had a pretty good look at wicket security but the conclusion that
   I've
   come to with that is it only supports the fact that you have pre
 defined
   roles within your application.
  
  
   Well i am not saying it is impossible to declare and add new
   permissions / principals at runtime but i think it is generally
   undesirable to do so. Instead you should make your principals fine
   grained enough to be used as building blocks for  roles.
  
   I'm currently working on a multi tenant web application where the
   application provided a set of permission, such and read / write access
 to
   an
   object and each tenant in the application defines their own role
 heirachy
   based on those permissions.
  
   This is exactly what we are doing in our application. We have
   literally +- 1000 principals defined in our system. By allowing the
   users to group principals together they can build there own roles. We
   have multiple organizations in our application and each of them can
   completely redesign there user roles in the system (well only up to a
   point because we could not allow that, but that aside they could). We
   provide each organization with a set of default roles as we think will
   suit most of them but they are completely free to alter/ rename/
   delete/ whatever do with those roles because we do not depend on the
   roles but on the underlying principals, which are controlled by us. A
   big help is the fact that we made our principals imply each other
   (write implies read, etc)  So when a user designs there roles they
   don't have to check read access to page A and write access to page A
   but can suffice with write access to page A. Although most of our
   principals handle a couple of related pages we also have principals
   going as deep as individual components. For instance we have a large
   data grid, the principals are fine grained enough to give you read or
   write access up to the individual cell.
  
   Correct me if i am wrong but this seems to be what you want too.
  
   Maurice
  
  
   On 6/28/07, craigdd [EMAIL PROTECTED] wrote:
  
   I've had a pretty good look at wicket security but the conclusion that
   I've
   come to with that is it only supports the fact that you have pre
 defined
   roles within your application.
  
   I'm currently working on a multi tenant web application where the
   application provided a set of permission, such and read / write access
 to
   an
   object and each tenant in the application defines their own role
 heirachy
   based on those permissions.
  
   We are currently using acegi and I'm trying to figure out the best way
 to
   bake acl into wicket's components.  Example, a link is set to invisible
   if
   the authenticated use doesn't contain a role with the given permission
 of
   that link.  So lets 

Re: [Wicket-user] wicket security and acl files

2007-06-29 Thread craigdd

Just my two cents but I think the API should change, or I guess not really
the API but the implementation(swarm) to better reflect industry naming
standards which will hopefully cut down on the confusion and hopefully make
it a little easier to integrate other security frameworks.

I use acegi as an example, they have an Authentication object that has a
method getPrincipal which if you read their javadoc makes it pretty clear
that an authenticated entity has one principal, which also seems to fit with
JAAS.

-Craig


Mr Mean wrote:
 
 Neither am i :) And you could be right about me misusing the
 principal, but using the actions of a permission for read write and
 then logically separating permissions with read from permissions with
 write in different principals does not seem like stretch to me.
 
 Maurice
 
 On 6/29/07, craigdd [EMAIL PROTECTED] wrote:

 I understand what you are saying and I see how you have accomplished
 something similar to what I'm trying to do, however it seems to me that
 you
 are miss using the concept of a Principal.  I'm not a security expert but
 a
 principal seems to point to an individual and not with something called
 write.  Write fits a little better into the concepts of ACL.

 -Craig


 Mr Mean wrote:
 
  By the way, I'm not saying wicket security is bad, other than my
 example
  I
  think it is a well put together framework that beats the hell out of
  using
  JAAS.
 
  Thanks, i appreciate that :)
 
  I've had a pretty good look at wicket security but the conclusion that
  I've
  come to with that is it only supports the fact that you have pre
 defined
  roles within your application.
 
 
  Well i am not saying it is impossible to declare and add new
  permissions / principals at runtime but i think it is generally
  undesirable to do so. Instead you should make your principals fine
  grained enough to be used as building blocks for  roles.
 
  I'm currently working on a multi tenant web application where the
  application provided a set of permission, such and read / write access
 to
  an
  object and each tenant in the application defines their own role
 heirachy
  based on those permissions.
 
  This is exactly what we are doing in our application. We have
  literally +- 1000 principals defined in our system. By allowing the
  users to group principals together they can build there own roles. We
  have multiple organizations in our application and each of them can
  completely redesign there user roles in the system (well only up to a
  point because we could not allow that, but that aside they could). We
  provide each organization with a set of default roles as we think will
  suit most of them but they are completely free to alter/ rename/
  delete/ whatever do with those roles because we do not depend on the
  roles but on the underlying principals, which are controlled by us. A
  big help is the fact that we made our principals imply each other
  (write implies read, etc)  So when a user designs there roles they
  don't have to check read access to page A and write access to page A
  but can suffice with write access to page A. Although most of our
  principals handle a couple of related pages we also have principals
  going as deep as individual components. For instance we have a large
  data grid, the principals are fine grained enough to give you read or
  write access up to the individual cell.
 
  Correct me if i am wrong but this seems to be what you want too.
 
  Maurice
 
 
  On 6/28/07, craigdd [EMAIL PROTECTED] wrote:
 
  I've had a pretty good look at wicket security but the conclusion that
  I've
  come to with that is it only supports the fact that you have pre
 defined
  roles within your application.
 
  I'm currently working on a multi tenant web application where the
  application provided a set of permission, such and read / write access
 to
  an
  object and each tenant in the application defines their own role
 heirachy
  based on those permissions.
 
  We are currently using acegi and I'm trying to figure out the best way
 to
  bake acl into wicket's components.  Example, a link is set to
 invisible
  if
  the authenticated use doesn't contain a role with the given permission
 of
  that link.  So lets say the link is to delete an object, the user must
  have
  a role with the permission to delete that object or the link will not
  show
  on the page.
 
  By the way, I'm not saying wicket security is bad, other than my
 example
  I
  think it is a well put together framework that beats the hell out of
  using
  JAAS.
 
  -Craig
 
 
  Mr Mean wrote:
  
   If you mean java Jaas like acl than swarm is what you are looking
 for.
   Optionally if you really want to use jaas and not some look alike i
   made up you could practically copy swarm and replace most objects
 with
   there jaas counterparts.
   However i chose not to use jaas because  we are using that in one of
   our projects right now and although it works it is less than optimal
   

Re: [Wicket-user] wicket security and acl files

2007-06-29 Thread Maurice Marrink
I am open to suggestions for alternate names, or if someone could
point me to the naming standards :)

Right now swarm operates the following way: A user is associated with
1 or more Subjects, each Subject has 0 or more Principals. Each
Principal is mapped to 1 or more Permissions.
Each Permission has 0 or more Actions.

Permissions and actions are named pretty straight forward i think.

Maurice

On 6/29/07, craigdd [EMAIL PROTECTED] wrote:

 Just my two cents but I think the API should change, or I guess not really
 the API but the implementation(swarm) to better reflect industry naming
 standards which will hopefully cut down on the confusion and hopefully make
 it a little easier to integrate other security frameworks.

 I use acegi as an example, they have an Authentication object that has a
 method getPrincipal which if you read their javadoc makes it pretty clear
 that an authenticated entity has one principal, which also seems to fit with
 JAAS.

 -Craig


 Mr Mean wrote:
 
  Neither am i :) And you could be right about me misusing the
  principal, but using the actions of a permission for read write and
  then logically separating permissions with read from permissions with
  write in different principals does not seem like stretch to me.
 
  Maurice
 
  On 6/29/07, craigdd [EMAIL PROTECTED] wrote:
 
  I understand what you are saying and I see how you have accomplished
  something similar to what I'm trying to do, however it seems to me that
  you
  are miss using the concept of a Principal.  I'm not a security expert but
  a
  principal seems to point to an individual and not with something called
  write.  Write fits a little better into the concepts of ACL.
 
  -Craig
 
 
  Mr Mean wrote:
  
   By the way, I'm not saying wicket security is bad, other than my
  example
   I
   think it is a well put together framework that beats the hell out of
   using
   JAAS.
  
   Thanks, i appreciate that :)
  
   I've had a pretty good look at wicket security but the conclusion that
   I've
   come to with that is it only supports the fact that you have pre
  defined
   roles within your application.
  
  
   Well i am not saying it is impossible to declare and add new
   permissions / principals at runtime but i think it is generally
   undesirable to do so. Instead you should make your principals fine
   grained enough to be used as building blocks for  roles.
  
   I'm currently working on a multi tenant web application where the
   application provided a set of permission, such and read / write access
  to
   an
   object and each tenant in the application defines their own role
  heirachy
   based on those permissions.
  
   This is exactly what we are doing in our application. We have
   literally +- 1000 principals defined in our system. By allowing the
   users to group principals together they can build there own roles. We
   have multiple organizations in our application and each of them can
   completely redesign there user roles in the system (well only up to a
   point because we could not allow that, but that aside they could). We
   provide each organization with a set of default roles as we think will
   suit most of them but they are completely free to alter/ rename/
   delete/ whatever do with those roles because we do not depend on the
   roles but on the underlying principals, which are controlled by us. A
   big help is the fact that we made our principals imply each other
   (write implies read, etc)  So when a user designs there roles they
   don't have to check read access to page A and write access to page A
   but can suffice with write access to page A. Although most of our
   principals handle a couple of related pages we also have principals
   going as deep as individual components. For instance we have a large
   data grid, the principals are fine grained enough to give you read or
   write access up to the individual cell.
  
   Correct me if i am wrong but this seems to be what you want too.
  
   Maurice
  
  
   On 6/28/07, craigdd [EMAIL PROTECTED] wrote:
  
   I've had a pretty good look at wicket security but the conclusion that
   I've
   come to with that is it only supports the fact that you have pre
  defined
   roles within your application.
  
   I'm currently working on a multi tenant web application where the
   application provided a set of permission, such and read / write access
  to
   an
   object and each tenant in the application defines their own role
  heirachy
   based on those permissions.
  
   We are currently using acegi and I'm trying to figure out the best way
  to
   bake acl into wicket's components.  Example, a link is set to
  invisible
   if
   the authenticated use doesn't contain a role with the given permission
  of
   that link.  So lets say the link is to delete an object, the user must
   have
   a role with the permission to delete that object or the link will not
   show
   on the page.
  
   By the way, I'm not saying wicket 

Re: [Wicket-user] wicket security and acl files

2007-06-29 Thread craigdd

The way it sounds is that principal should really be renamed to role.  Roles
typically have 0 or more permissions.

Although if you consider the hive as a mapping of roles to permissions then
you are really back to what I said earlier where swarm is handy if your
application pre-defines the roles that are available.

-Craig


Mr Mean wrote:
 
 I am open to suggestions for alternate names, or if someone could
 point me to the naming standards :)
 
 Right now swarm operates the following way: A user is associated with
 1 or more Subjects, each Subject has 0 or more Principals. Each
 Principal is mapped to 1 or more Permissions.
 Each Permission has 0 or more Actions.
 
 Permissions and actions are named pretty straight forward i think.
 
 Maurice
 
 On 6/29/07, craigdd [EMAIL PROTECTED] wrote:

 Just my two cents but I think the API should change, or I guess not
 really
 the API but the implementation(swarm) to better reflect industry naming
 standards which will hopefully cut down on the confusion and hopefully
 make
 it a little easier to integrate other security frameworks.

 I use acegi as an example, they have an Authentication object that has a
 method getPrincipal which if you read their javadoc makes it pretty
 clear
 that an authenticated entity has one principal, which also seems to fit
 with
 JAAS.

 -Craig


 Mr Mean wrote:
 
  Neither am i :) And you could be right about me misusing the
  principal, but using the actions of a permission for read write and
  then logically separating permissions with read from permissions with
  write in different principals does not seem like stretch to me.
 
  Maurice
 
  On 6/29/07, craigdd [EMAIL PROTECTED] wrote:
 
  I understand what you are saying and I see how you have accomplished
  something similar to what I'm trying to do, however it seems to me
 that
  you
  are miss using the concept of a Principal.  I'm not a security expert
 but
  a
  principal seems to point to an individual and not with something
 called
  write.  Write fits a little better into the concepts of ACL.
 
  -Craig
 
 
  Mr Mean wrote:
  
   By the way, I'm not saying wicket security is bad, other than my
  example
   I
   think it is a well put together framework that beats the hell out
 of
   using
   JAAS.
  
   Thanks, i appreciate that :)
  
   I've had a pretty good look at wicket security but the conclusion
 that
   I've
   come to with that is it only supports the fact that you have pre
  defined
   roles within your application.
  
  
   Well i am not saying it is impossible to declare and add new
   permissions / principals at runtime but i think it is generally
   undesirable to do so. Instead you should make your principals fine
   grained enough to be used as building blocks for  roles.
  
   I'm currently working on a multi tenant web application where the
   application provided a set of permission, such and read / write
 access
  to
   an
   object and each tenant in the application defines their own role
  heirachy
   based on those permissions.
  
   This is exactly what we are doing in our application. We have
   literally +- 1000 principals defined in our system. By allowing the
   users to group principals together they can build there own roles.
 We
   have multiple organizations in our application and each of them can
   completely redesign there user roles in the system (well only up to
 a
   point because we could not allow that, but that aside they could).
 We
   provide each organization with a set of default roles as we think
 will
   suit most of them but they are completely free to alter/ rename/
   delete/ whatever do with those roles because we do not depend on the
   roles but on the underlying principals, which are controlled by us.
 A
   big help is the fact that we made our principals imply each other
   (write implies read, etc)  So when a user designs there roles they
   don't have to check read access to page A and write access to page A
   but can suffice with write access to page A. Although most of our
   principals handle a couple of related pages we also have principals
   going as deep as individual components. For instance we have a large
   data grid, the principals are fine grained enough to give you read
 or
   write access up to the individual cell.
  
   Correct me if i am wrong but this seems to be what you want too.
  
   Maurice
  
  
   On 6/28/07, craigdd [EMAIL PROTECTED] wrote:
  
   I've had a pretty good look at wicket security but the conclusion
 that
   I've
   come to with that is it only supports the fact that you have pre
  defined
   roles within your application.
  
   I'm currently working on a multi tenant web application where the
   application provided a set of permission, such and read / write
 access
  to
   an
   object and each tenant in the application defines their own role
  heirachy
   based on those permissions.
  
   We are currently using acegi and I'm trying to figure out the best
 way
  to
   bake 

Re: [Wicket-user] wicket security and acl files

2007-06-29 Thread Eelco Hillenius
 Right now swarm operates the following way: A user is associated with
 1 or more Subjects, each Subject has 0 or more Principals.

This sounds right to me, and is like how JAAS works.

A subject is the root/ abstract entity for a user, principals are
views or identities of a subject and in JAAS you would represent a
role as a principal.

As JAAS is the default authorization mechnism in Java, it is arguably
the 'industry standard' (for Java). Whether it is what you prefer is
another question. I think people find users/ roles easier to
understand, but personally I like the more abstracted model of JAAS;
whether you want to model groups, roles a combination of the two or
even something different, it fits seamlessly.

My 2c,

Eelco

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket security and acl files

2007-06-29 Thread Craig Lenzen

 A subject is the root/ abstract entity for a user, principals are
 views or identities of a subject and in JAAS you would represent a
 role as a principal.

I agree with your statement which leads me to the fact that the principal
should really be a role in swarm and the hive file is a mapping of a role to
given permissions and actions.  So back to what I said before, swarm is
really nice when you have an application with pre-defined roles instead of
an application that is more fluid and tenants can create their own structure
of roles.

-Craig


Eelco Hillenius wrote:
 
 Right now swarm operates the following way: A user is associated with
 1 or more Subjects, each Subject has 0 or more Principals.
 
 This sounds right to me, and is like how JAAS works.
 
 A subject is the root/ abstract entity for a user, principals are
 views or identities of a subject and in JAAS you would represent a
 role as a principal.
 
 As JAAS is the default authorization mechnism in Java, it is arguably
 the 'industry standard' (for Java). Whether it is what you prefer is
 another question. I think people find users/ roles easier to
 understand, but personally I like the more abstracted model of JAAS;
 whether you want to model groups, roles a combination of the two or
 even something different, it fits seamlessly.
 
 My 2c,
 
 Eelco
 
 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user
 
 

-- 
View this message in context: 
http://www.nabble.com/wicket-security-and-acl-files-tf3960558.html#a11364093
Sent from the Wicket - User mailing list archive at Nabble.com.


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket security and acl files

2007-06-28 Thread craigdd

I've had a pretty good look at wicket security but the conclusion that I've
come to with that is it only supports the fact that you have pre defined
roles within your application.

I'm currently working on a multi tenant web application where the
application provided a set of permission, such and read / write access to an
object and each tenant in the application defines their own role heirachy
based on those permissions.

We are currently using acegi and I'm trying to figure out the best way to
bake acl into wicket's components.  Example, a link is set to invisible if
the authenticated use doesn't contain a role with the given permission of
that link.  So lets say the link is to delete an object, the user must have
a role with the permission to delete that object or the link will not show
on the page. 

By the way, I'm not saying wicket security is bad, other than my example I
think it is a well put together framework that beats the hell out of using
JAAS.

-Craig


Mr Mean wrote:
 
 If you mean java Jaas like acl than swarm is what you are looking for.
 Optionally if you really want to use jaas and not some look alike i
 made up you could practically copy swarm and replace most objects with
 there jaas counterparts.
 However i chose not to use jaas because  we are using that in one of
 our projects right now and although it works it is less than optimal
 :) As soon as we make the switch to wicket 1.3.0 jaas will be replaced
 by swarm.
 
 You can also check out the example project here
 https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicket-security-examples
 
 
 Maurice
 
 On 6/21/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
 wicket's security model is completely generic

 see IAuthorizationStrategy - it is very abstract and thus can be used to
 implement any kind of authorization

 wicket-auth is just an example that implements basic role-based model

 see wicket-stuff wasp and swarm projects

 http://wicketstuff.org/confluence/display/STUFFWIKI/Wicket-Security

 -igor


 On 6/21/07, craigdd [EMAIL PROTECTED] wrote:
 
  Is wicket security based only on role based authorization or could it
 somehow
  be used with a more traditional ACL type of file / logic.
 
  -Craig
  --
  View this message in context:
 http://www.nabble.com/wicket-security-and-acl-files-tf3960558.html#a11239024
  Sent from the Wicket - User mailing list archive at Nabble.com.
 
 
 
 -
  This SF.net email is sponsored by DB2 Express
  Download DB2 Express C - the FREE version of DB2 express and take
  control of your XML. No limits. Just data. Click to get it now.
  http://sourceforge.net/powerbar/db2/
  ___
  Wicket-user mailing list
  Wicket-user@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wicket-user
 


 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user


 
 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user
 
 

-- 
View this message in context: 
http://www.nabble.com/wicket-security-and-acl-files-tf3960558.html#a11350022
Sent from the Wicket - User mailing list archive at Nabble.com.


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket security and acl files

2007-06-28 Thread Maurice Marrink
 By the way, I'm not saying wicket security is bad, other than my example I
 think it is a well put together framework that beats the hell out of using
 JAAS.

Thanks, i appreciate that :)

 I've had a pretty good look at wicket security but the conclusion that I've
 come to with that is it only supports the fact that you have pre defined
 roles within your application.


Well i am not saying it is impossible to declare and add new
permissions / principals at runtime but i think it is generally
undesirable to do so. Instead you should make your principals fine
grained enough to be used as building blocks for  roles.

 I'm currently working on a multi tenant web application where the
 application provided a set of permission, such and read / write access to an
 object and each tenant in the application defines their own role heirachy
 based on those permissions.

This is exactly what we are doing in our application. We have
literally +- 1000 principals defined in our system. By allowing the
users to group principals together they can build there own roles. We
have multiple organizations in our application and each of them can
completely redesign there user roles in the system (well only up to a
point because we could not allow that, but that aside they could). We
provide each organization with a set of default roles as we think will
suit most of them but they are completely free to alter/ rename/
delete/ whatever do with those roles because we do not depend on the
roles but on the underlying principals, which are controlled by us. A
big help is the fact that we made our principals imply each other
(write implies read, etc)  So when a user designs there roles they
don't have to check read access to page A and write access to page A
but can suffice with write access to page A. Although most of our
principals handle a couple of related pages we also have principals
going as deep as individual components. For instance we have a large
data grid, the principals are fine grained enough to give you read or
write access up to the individual cell.

Correct me if i am wrong but this seems to be what you want too.

Maurice


On 6/28/07, craigdd [EMAIL PROTECTED] wrote:

 I've had a pretty good look at wicket security but the conclusion that I've
 come to with that is it only supports the fact that you have pre defined
 roles within your application.

 I'm currently working on a multi tenant web application where the
 application provided a set of permission, such and read / write access to an
 object and each tenant in the application defines their own role heirachy
 based on those permissions.

 We are currently using acegi and I'm trying to figure out the best way to
 bake acl into wicket's components.  Example, a link is set to invisible if
 the authenticated use doesn't contain a role with the given permission of
 that link.  So lets say the link is to delete an object, the user must have
 a role with the permission to delete that object or the link will not show
 on the page.

 By the way, I'm not saying wicket security is bad, other than my example I
 think it is a well put together framework that beats the hell out of using
 JAAS.

 -Craig


 Mr Mean wrote:
 
  If you mean java Jaas like acl than swarm is what you are looking for.
  Optionally if you really want to use jaas and not some look alike i
  made up you could practically copy swarm and replace most objects with
  there jaas counterparts.
  However i chose not to use jaas because  we are using that in one of
  our projects right now and although it works it is less than optimal
  :) As soon as we make the switch to wicket 1.3.0 jaas will be replaced
  by swarm.
 
  You can also check out the example project here
  https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicket-security-examples
 
 
  Maurice
 
  On 6/21/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
  wicket's security model is completely generic
 
  see IAuthorizationStrategy - it is very abstract and thus can be used to
  implement any kind of authorization
 
  wicket-auth is just an example that implements basic role-based model
 
  see wicket-stuff wasp and swarm projects
 
  http://wicketstuff.org/confluence/display/STUFFWIKI/Wicket-Security
 
  -igor
 
 
  On 6/21/07, craigdd [EMAIL PROTECTED] wrote:
  
   Is wicket security based only on role based authorization or could it
  somehow
   be used with a more traditional ACL type of file / logic.
  
   -Craig
   --
   View this message in context:
  http://www.nabble.com/wicket-security-and-acl-files-tf3960558.html#a11239024
   Sent from the Wicket - User mailing list archive at Nabble.com.
  
  
  
  -
   This SF.net email is sponsored by DB2 Express
   Download DB2 Express C - the FREE version of DB2 express and take
   control of your XML. No limits. Just data. Click to get it now.
   http://sourceforge.net/powerbar/db2/
   

Re: [Wicket-user] wicket security and acl files

2007-06-28 Thread craigdd

I understand what you are saying and I see how you have accomplished
something similar to what I'm trying to do, however it seems to me that you
are miss using the concept of a Principal.  I'm not a security expert but a
principal seems to point to an individual and not with something called
write.  Write fits a little better into the concepts of ACL.

-Craig


Mr Mean wrote:
 
 By the way, I'm not saying wicket security is bad, other than my example
 I
 think it is a well put together framework that beats the hell out of
 using
 JAAS.
 
 Thanks, i appreciate that :)
 
 I've had a pretty good look at wicket security but the conclusion that
 I've
 come to with that is it only supports the fact that you have pre defined
 roles within your application.

 
 Well i am not saying it is impossible to declare and add new
 permissions / principals at runtime but i think it is generally
 undesirable to do so. Instead you should make your principals fine
 grained enough to be used as building blocks for  roles.
 
 I'm currently working on a multi tenant web application where the
 application provided a set of permission, such and read / write access to
 an
 object and each tenant in the application defines their own role heirachy
 based on those permissions.
 
 This is exactly what we are doing in our application. We have
 literally +- 1000 principals defined in our system. By allowing the
 users to group principals together they can build there own roles. We
 have multiple organizations in our application and each of them can
 completely redesign there user roles in the system (well only up to a
 point because we could not allow that, but that aside they could). We
 provide each organization with a set of default roles as we think will
 suit most of them but they are completely free to alter/ rename/
 delete/ whatever do with those roles because we do not depend on the
 roles but on the underlying principals, which are controlled by us. A
 big help is the fact that we made our principals imply each other
 (write implies read, etc)  So when a user designs there roles they
 don't have to check read access to page A and write access to page A
 but can suffice with write access to page A. Although most of our
 principals handle a couple of related pages we also have principals
 going as deep as individual components. For instance we have a large
 data grid, the principals are fine grained enough to give you read or
 write access up to the individual cell.
 
 Correct me if i am wrong but this seems to be what you want too.
 
 Maurice
 
 
 On 6/28/07, craigdd [EMAIL PROTECTED] wrote:

 I've had a pretty good look at wicket security but the conclusion that
 I've
 come to with that is it only supports the fact that you have pre defined
 roles within your application.

 I'm currently working on a multi tenant web application where the
 application provided a set of permission, such and read / write access to
 an
 object and each tenant in the application defines their own role heirachy
 based on those permissions.

 We are currently using acegi and I'm trying to figure out the best way to
 bake acl into wicket's components.  Example, a link is set to invisible
 if
 the authenticated use doesn't contain a role with the given permission of
 that link.  So lets say the link is to delete an object, the user must
 have
 a role with the permission to delete that object or the link will not
 show
 on the page.

 By the way, I'm not saying wicket security is bad, other than my example
 I
 think it is a well put together framework that beats the hell out of
 using
 JAAS.

 -Craig


 Mr Mean wrote:
 
  If you mean java Jaas like acl than swarm is what you are looking for.
  Optionally if you really want to use jaas and not some look alike i
  made up you could practically copy swarm and replace most objects with
  there jaas counterparts.
  However i chose not to use jaas because  we are using that in one of
  our projects right now and although it works it is less than optimal
  :) As soon as we make the switch to wicket 1.3.0 jaas will be replaced
  by swarm.
 
  You can also check out the example project here
 
 https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicket-security-examples
 
 
  Maurice
 
  On 6/21/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
  wicket's security model is completely generic
 
  see IAuthorizationStrategy - it is very abstract and thus can be used
 to
  implement any kind of authorization
 
  wicket-auth is just an example that implements basic role-based model
 
  see wicket-stuff wasp and swarm projects
 
  http://wicketstuff.org/confluence/display/STUFFWIKI/Wicket-Security
 
  -igor
 
 
  On 6/21/07, craigdd [EMAIL PROTECTED] wrote:
  
   Is wicket security based only on role based authorization or could
 it
  somehow
   be used with a more traditional ACL type of file / logic.
  
   -Craig
   --
   View this message in context:
 
 

[Wicket-user] wicket security and acl files

2007-06-21 Thread craigdd

Is wicket security based only on role based authorization or could it somehow
be used with a more traditional ACL type of file / logic.

-Craig 
-- 
View this message in context: 
http://www.nabble.com/wicket-security-and-acl-files-tf3960558.html#a11239024
Sent from the Wicket - User mailing list archive at Nabble.com.


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket security and acl files

2007-06-21 Thread Eelco Hillenius
Any strategy you like. Check out IAuthorizationStrategy.

Eelco


On 6/21/07, craigdd [EMAIL PROTECTED] wrote:

 Is wicket security based only on role based authorization or could it somehow
 be used with a more traditional ACL type of file / logic.

 -Craig
 --
 View this message in context: 
 http://www.nabble.com/wicket-security-and-acl-files-tf3960558.html#a11239024
 Sent from the Wicket - User mailing list archive at Nabble.com.


 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket security and acl files

2007-06-21 Thread Maurice Marrink
If you mean java Jaas like acl than swarm is what you are looking for.
Optionally if you really want to use jaas and not some look alike i
made up you could practically copy swarm and replace most objects with
there jaas counterparts.
However i chose not to use jaas because  we are using that in one of
our projects right now and although it works it is less than optimal
:) As soon as we make the switch to wicket 1.3.0 jaas will be replaced
by swarm.

You can also check out the example project here
https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicket-security-examples


Maurice

On 6/21/07, Igor Vaynberg [EMAIL PROTECTED] wrote:
 wicket's security model is completely generic

 see IAuthorizationStrategy - it is very abstract and thus can be used to
 implement any kind of authorization

 wicket-auth is just an example that implements basic role-based model

 see wicket-stuff wasp and swarm projects

 http://wicketstuff.org/confluence/display/STUFFWIKI/Wicket-Security

 -igor


 On 6/21/07, craigdd [EMAIL PROTECTED] wrote:
 
  Is wicket security based only on role based authorization or could it
 somehow
  be used with a more traditional ACL type of file / logic.
 
  -Craig
  --
  View this message in context:
 http://www.nabble.com/wicket-security-and-acl-files-tf3960558.html#a11239024
  Sent from the Wicket - User mailing list archive at Nabble.com.
 
 
 
 -
  This SF.net email is sponsored by DB2 Express
  Download DB2 Express C - the FREE version of DB2 express and take
  control of your XML. No limits. Just data. Click to get it now.
  http://sourceforge.net/powerbar/db2/
  ___
  Wicket-user mailing list
  Wicket-user@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wicket-user
 


 -
 This SF.net email is sponsored by DB2 Express
 Download DB2 Express C - the FREE version of DB2 express and take
 control of your XML. No limits. Just data. Click to get it now.
 http://sourceforge.net/powerbar/db2/
 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user



-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user