I'm definitely thinking of simplified environments. Those with enterprise security systems aren't going to be using our GUI for managing their users, but if they are using the simple TextRealm or JDBCRealm they will.

I understand the desire for the APIs to not assume a specific security model, but if they are using the simple realm implementations are already implicitly agreeing to an RBACish (users/roles/permissions) model. Specificlly, if they are using the TextRealm, they have really no control over the file format and with JDBC they really only have control over the mappings. I'm hoping I can create a small interface that both these reals can implement which has methods like add/remove user/role/permission and assignUserRole/assignRolePermission. My overall goal is to be able to easily switch between file and database permissions without having to change the GUI.

As part of this project we will be building a GUI for this that I'm fairly confident we could opensource. The UI will be EXTJS+Rest so I'm not sure everyone will be interest, but it should be a good starting point.

Anyway, I'm going to start hacking on a MutableRealm and I'll post more when I get some code working. Even if the code turns out not to be a generic solution, it should be a good example for others that need user management features.

-dain


On Jul 18, 2008, at 7:27 AM, Jeremy Haile wrote:

Repost since I accidentally posted to the wrong thread the first time:

I've often thought that a good spinoff project from JSecurity would be a UI and infrastructure for managing users, roles, permissions, etc. I've always viewed it as something that would be a separate project that depends on the
JSecurity core.  Every project with security has to manage the users
somehow, so why not have an OS project that lets you manage it all out of
the box?

I'm not sure whether the infrastructure to mutate users, etc. belongs in the JSecurity core or in a separate sub-project. If it did, I could see something like a MutableRealm interface. But I don't know if we want to make those kind of assumptions about the underlying model. I'd be more comfortable making those assumptions in a sub-project that was optional and
was intended to get basic security up and running quickly. (useful for
simple web apps or for the beginning stages of advanced web apps) Heck, I wish I had a simple UI for editing roles and permissions for my application
at work right now!

Ideas?

Jeremy


On Jul 18, 2008, at 9:35 AM, Les Hazlewood wrote:

If we can do it in such a way that it is applicable for any environment, I'd love it. Because Realms abstract JSecurity away from the application's
domain model, it might be tricky to do this in a clean manner.

For example, you could pass in an Account object to the realm to be
created. But that might mean that the application's domain object would have to implement our Account interface - not something that is considered a
best practice (embedding a framework's interfaces in your core domain
model).  Realms were created for this purpose - to prevent this tight
coupling.

But, I'm of course open to ideas - maybe what you describe is perfectly suitable for simplified environments, maybe where people have text- based or file-based realms and don't want to create user/role/permission objects from
scratch.

In any case, I definitely look forward to it. Could you please create a Jira issue at https://issues.apache.org/jira/browse/JSEC and attach a patch?

Thanks!

Les

On Thu, Jul 17, 2008 at 11:56 PM, Dain Sundstrom <[EMAIL PROTECTED]> wrote:

We're planning on using JSecurity in some REST applications. Most of JSecurity should work for us out-of-the-box with the exception that we need our basic realms (text and database) to be mutable at runtime, so we can provide simple user management functions for standalone environments.

I have been looking at the realm implementations and don't think it will be
difficult to add support for runtime mutability of simple
user->role->permission mappings. Is this something the project would be
interested in as a contribution?

-dain



Reply via email to