Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Name

Externalize User Permissions

StatusProposal under development

Withdrawn from consideration

Target Release

Roller Weblogger 4.1

Original Authors

Dave Johnson

...

For ease of installation and management, Roller is able to manage it's own users permissions without relying on any external system other than its RDBMS. We definitely don't want to lose that easiness, but we do want to make it possible to plug Roller into existing sites and applications that have their own permissions management systems.

...

  • Enable Roller to optionally read/write user-weblog permission information in an external system instead of it's relational database.
  • Define a User Permissions API and make it possible to plugin User Permissions API implementations without having to extend a UserManager implementation.

4.0 Issues

Issues raised and addressed during review process. TBD

...

First, we remove the dependence on ORM for permissions. Insead calling ORM supported methods on the Weblog and User classes, the Roller front-end will call the Roller UserManager to access permissions information. We'll add these new methods to accommodate that:

New methods in UserManager

Code Block
public Set<WeblogPermission> getWeblogPermissions(Weblog weblog)
public Set<WeblogPermission> getUserPermissions(User user)
public void grantPermissions(String username, WeblogPermission perm)
public void removePermission(String username, WeblogPermission perm)
public int getUserCount(Weblog weblog)
public int getAdminCount(Weblog weblog)

...

For example, this API allows you to grant permissions on specific objects and uses a mask for permissions as we do now in Roller.

User Permissions API

UserPermissions interface methods

...

Roller will include a User Permissions API that stores data in the Roller database. Other implementations can be plugged in via DI.

5.2 Specific changes to Managers, POJOS, Actions and JSPs

TBD

6.0 Comments

Please comment on the dev mailing list.