You can enable or disable a template within its security policy container. An enabled template can be applied to an object; a disabled template remains an item in the security policy container but cannot be applied to an object.
A SecurityTemplate object can represent either an application security template or a versioning security template, and both types can exist simultaneously in a single SecurityPolicy object. The two template types are differentiated by their use and by their class IDs (GUIDs). An application security template must be explicitly applied by calling an object's ApplySecurityTemplate method; it is never automatically applied. A versioning security template is automatically applied when the state of a document version changes, and may also be explicitly applied at any time by a user or group with permission to modify the object's security (AccessRight.WRITE_ACL).
If an object has no associated security policy, its permissions remain unchanged when it undergoes a versioning change. However, if the object has an associated SecurityPolicy object, its permissions are modified according to the non-disabled, applicable security templates of its SecurityPolicy when:
- The object undergoes a versioning change (for example, a document's version status moves from in-process to released).
- The object's class changes (as the result of a call to the object's ChangeClass method).
To create a new VersioningSecurityTemplate object, call CreateInstance on the Factory.VersioningSecurityTemplate class. To retrieve a VersioningSecurityTemplate object from a SecurityPolicy object, first retrieve the SecurityPolicy object's SecurityTemplates property then retrieve a SecurityTemplate object of the desired type from the returned SecurityTemplates collection.
Assembly: FileNet.Api (in FileNet.Api.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Interface IVersioningSecurityTemplate _ Implements ISecurityTemplate, IRepositoryObject, IEngineObject, ICloneable, _ IDependentObject |
C# |
---|
public interface IVersioningSecurityTemplate : ISecurityTemplate, IRepositoryObject, IEngineObject, ICloneable, IDependentObject |
Visual C++ |
---|
public interface class IVersioningSecurityTemplate : ISecurityTemplate, IRepositoryObject, IEngineObject, ICloneable, IDependentObject |
JavaScript |
---|
FileNet.Api.Security.IVersioningSecurityTemplate = function(); FileNet.Api.Security.IVersioningSecurityTemplate.createInterface('FileNet.Api.Security.IVersioningSecurityTemplate'); |
Remarks
Metadata
Auditable: false
AllowsInstances: true
AllowsSubClasses: false
ClassDefinitionName: None
IsDependent: true
IsHidden: false
Searchable: false
StorageType: ObjectStore
SuperclassName: SecurityTemplate