The following features are supported:
The following features are supported:
注意:group对象不是线程安全的,不能被多线程共享。
@author Michael ZhouGroups are a specialized type of ad-hoc role used by the wiki system. Unlike externally-provided roles (such as those provided by an LDAP server or web container), JSPWiki groups can be created dynamically by wiki users, without requiring special container privileges or administrator intervention. They are designed to provide a lightweight role-based access control system that complements existing role systems.
Group names are case-insensitive, and have a few naming restrictions, which are enforced by the {@link GroupManager}:
Note: prior to JSPWiki 2.4.19, Group was an interface; it is now a concrete, final class.
Groups are related to {@link GroupPrincipal}s. A GroupPrincipal, when injected into the Principal set of a WikiSession's Subject, means that the user is a member of a Group of the same name -- it is, in essence, an "authorization token." GroupPrincipals, unlike Groups, are thread-safe, lightweight and immutable. That's why we use them in Subjects rather than the Groups themselves.
@author Andrew Jaquith @since 2.3User: Zhang Kaitao
Date: 13-4-19 上午7:13
Version: 1.0
Groups are used to structure a cache internally. They are organized into a hierarchy and can container entries and/or other groups.
Warning: This is a facade provided for use by user code, not for implementation by user code. User implementations of this interface are highly likely to be incompatible with future releases of the product at both binary and source levels.
@mock.generateNote that Group extends Principal. Thus, either a Principal or a Group can be passed as an argument to methods containing a Principal parameter. For example, you can add either a Principal or a Group to a Group object by calling the object's {@code addMember} method, passing it thePrincipal or Group. @author Satish Dharmaraj
Abstract representation of a group of {@link User}s in a {@link UserDatabase}. Each user that is a member of this group inherits the {@link Role}s assigned to the group.
@author Craig R. McClanahan @version $Revision: 466595 $ $Date: 2006-10-21 23:24:41 +0100 (Sat, 21 Oct 2006) $ @since 4.1A group made of a {@link GroupPrincipal} and the group {@link Preferences}.
@author David Le StratGroups are a specialized type of ad-hoc role used by the wiki system. Unlike externally-provided roles (such as those provided by an LDAP server or web container), JSPWiki groups can be created dynamically by wiki users, without requiring special container privileges or administrator intervention. They are designed to provide a lightweight role-based access control system that complements existing role systems.
Group names are case-insensitive, and have a few naming restrictions, which are enforced by the {@link GroupManager}:
Note: prior to JSPWiki 2.4.19, Group was an interface; it is now a concrete, final class.
Groups are related to {@link GroupPrincipal}s. A GroupPrincipal, when injected into the Principal set of a WikiSession's Subject, means that the user is a member of a Group of the same name -- it is, in essence, an "authorization token." GroupPrincipals, unlike Groups, are thread-safe, lightweight and immutable. That's why we use them in Subjects rather than the Groups themselves.
@since 2.3The following features are supported:
For example, user userA is in group groupA and userB is in groupB. It could be that groupA is configured with view operation permission (See {@link OperationAllowed}) then userA could view metadata but userB could not.
@author JesseThis interface is intended to represent the Group construct within XML Schemas.
In many situations it is recommended that groups be flatened out to their child declaration, removing the additional layer of indirection. Although this optimization is nice, it is imposible to complete this all the time, as xml schemas may include publicly viewable Group definitions.
@author dzwiers www.refractions.net @source $URL$This library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see www.gnu.org/licenses/
For more information, contact: www.japura.org
@author Carlos Eduardo Leite de Andrade
The group type allows for the distinction of hierarchical groups, security roles and others.
Following name convention is recommended for assigning group types :
The actual group implementation is controlled by the {@link GroupProvider}, which includes things like the group name, the members, and adminstrators. Each group also has properties, which are always stored in the Openfire database. @see GroupManager#createGroup(String) @author Matt Tucker
For example, CREATE_THREAD permissions can be set per forum. A forum administrator may wish to create a "Thread Posters" group that has CREATE_THREAD permissions in the forum. Then, users can be added to that group and will automatically receive CREATE_THREAD permissions in that forum.
Security for Group objects is provide by GroupProxy protection proxy objects. @see User
Whether or not a given {@code Authorization} context implies a {@code Group}object depends on the members of that {@code Group} object.
A {@code Group} object can have two kinds of members: basic andrequired . A {@code Group} object is implied by an{@code Authorization} context if all of its required members are implied andat least one of its basic members is implied.
A {@code Group} object must contain at least one basic member in order to beimplied. In other words, a {@code Group} object without any basic memberroles is never implied by any {@code Authorization} context.
A {@code User} object always implies itself.
No loop detection is performed when adding members to {@code Group} objects,which means that it is possible to create circular implications. Loop detection is instead done when roles are checked. The semantics is that if a role depends on itself (i.e., there is an implication loop), the role is not implied.
The rule that a {@code Group} object must have at least one basic member tobe implied is motivated by the following example:
group foo required members: marketing basic members: alice, bobPrivileged operations that require membership in "foo" can be performed only by "alice" and "bob", who are in marketing.
If "alice" and "bob" ever transfer to a different department, anybody in marketing will be able to assume the "foo" role, which certainly must be prevented. Requiring that "foo" (or any {@code Group} object for that matter)must have at least one basic member accomplishes that.
However, this would make it impossible for a {@code Group} object to beimplied by just its required members. An example where this implication might be useful is the following declaration: "Any citizen who is an adult is allowed to vote." An intuitive configuration of "voter" would be:
group voter required members: citizen, adult basic members:However, according to the above rule, the "voter" role could never be assumed by anybody, since it lacks any basic members. In order to address this issue a predefined role named "user.anyone" can be specified, which is always implied. The desired implication of the "voter" group can then be achieved by specifying "user.anyone" as its basic member, as follows:
group voter required members: citizen, adult basic members: user.anyone@noimplement @author $Id: 0ffc7e843ca60afab2965c46dc352af62f540cee $
cf:group
element refers to the default sort order.cf:group
element refers. If it is omitted, the client should use the value of the "element" attribute as the human-readable name. The "label" attribute is required if the "element" attribute is omitted. Available in ZK PE and EE.
Event:
Default {@link #getZclass}: z-group.
Note: All the child of this component are automatically applied the group-cell CSS, if you don't want this CSS, you can invoke the {@link Label#setSclass(String)}after the child added. @author jumperchen @since 3.5.0
Immutable if setImmutable() was called. @author caron
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|