With interactive clients,
a well-defined set of interactions between the client and server are
required to support evaluating and changing Permission values for
an object. To facilitate these tasks, a server-side transaction context
is now supported to maintain state during client requests. ISecurityAdmin
methods that get or set Permission values can request a handle for
a transaction context. This transaction context is a server-side structure
that tracks incremental Permission changes, so that IdentityGroup
memberships can be factored in for the client. For example, in SAS
Management Console, in the Authorization tab of a resource’s
Properties window, a user can select grant or deny on different permissions
for the identities displayed. The state of all currently persisted
and effective Permission values, along with incremental Permission
changes pending from selections in the GUI, are maintained by the
transaction context on the server. If the user clicks OK, the client
commits the changes on the SAS Metadata Server. If the user clicks
Cancel, the changes in the transaction context are discarded.
A transaction context
is created by using the BeginTransactionContext method. It is committed
or discarded by using the EndTransactionContext method.
For more information,
see BeginTransactionContext. Also see EndTransactionContext.