Quote from: BobRay at May 23, 2009, 11:24 PM
Still wrestling with this. It sounds like the point is to allow users within the same user group to have different capabilities. I’m assuming (perhaps incorrectly) that users have all the rights of users with higher authority numbers and but none of the rights of users with lower numbers.
For now, permissions are assigned by User Group and a Role defines the user’s Membership-level in that User Group. Think of a Super User member of the Administrators group as having the greatest Authority within the Administrators, and thus will have all of the Policies assigned to that User Group for ACLs with an Authority >= the Authority assigned to them by their Role in the group.
Quote from: BobRay at May 23, 2009, 11:24 PM
So users don’t have roles, user groups do, and the authority number determines which of the role’s capabilities the user can access? Am I getting close?
Roles define a User’s membership within a User Group. So Roles are now more concisely, User Group Membership Roles, as opposed to just User Roles, like we had in the legacy system.
Quote from: BobRay at May 23, 2009, 11:24 PM
I still wonder if it wouldn’t make sense to allow all users with access to the manager context to log in to the manager. It seems counterintuitive to be able to create a manager user who can’t log in to the manager. My manager user has an authority of 5 (picked out of the air) but can’t log in.
As soon as someone wants Adminstrators that can only use a front-end editing tool like QuickEdit, that model breaks down.
All you have to do is change the Authority level on the ACL that is installed for the Administrators group with the default
Context Policy to 9999 then, and any member of the Administrators group will then also have that full-access policy. Remember, there are no longer any data entities known as "manager users" in MODx Revolution, just users, and likewise, no difference between Manager User Groups and Web User Groups; they are just User Groups now. Policies are assigned between a User Group and a target object, for now either a Context or a specific Resource (in the future they will also be assignable to Elements and any other data object you could possibly imagine).
Technically, you don’t need anything other than the Administrators group and several Roles to re-create a security model akin to 0.9.6.x’s manager system (i.e. an Editor’s role in the Administrators User Group vs. a Manager User Group called Editors). It just depends on what you want. The idea is we will have several "typical" security model packages in the repository that will provide a template for some common security models; users can install them to jump-start the process of designing their security model, and most will probably be able to use the one they chose out of the box. But others will want to design custom models to specification, from scratch.
If someone could define a common security model or two they think would make a great example or starting point for most situations, I would be glad to configure it and show some screenshots of how I did so and/or build a package from it you could install directly in your Revo installation.
Quote from: BobRay at May 23, 2009, 11:24 PM
I can see the value of having the hierarchy of authority numbers, but I’m wondering if it’s worth the pain of having to remember exactly what each authority number means in terms of what the user can and can’t do. At first glance, I’d rather just create a different role for each pattern of capabilities rather than messing with authority numbers-- I can’t imagine a scenario where I’d need that many different roles (assuming that any of what I’ve written here makes any sense at all). 
That’s why they are assigned via Roles, so you don’t have to remember what the Authority number means; you can codify it by creating Roles that represent your model logically instead of just numerically.