Show / Hide Table of Contents

Namespace SuperOffice.CRM.Security

Classes

AppointmentSentry

AppointmentSentry guards Appointment entities and their component rows. Document entities also use the AppointmentSentry - since they are basically appointments with a bit of extra info attached.

The AppointmentSentry applies to the following classes: Appointment, AppointmentRow, TextRow, DocumentRow

AppointmentSentryQueryInfo

AssociateSentry

AssociateSentryQueryInfo

ContactSentry

ContactSentry guards Contact entities and their component rows. The ContactSentry applies to the following classes: Contact, ContactRow, TextRow, AddressRow, PhoneRow, EmailRow, UrlRow, InterestRows, UdefLarge and UdefSmall

ContactSentryQueryInfo

DashboardSentry

DashboardSentry guards Dashboard entities. It is using datarights and visiblefor to make sure you can only see or modify what you should be able to.

DashboardSentryQueryInfo

DashboardTileSentry

DashboardTileSentry guards DashboardTile entities. It is using datarights and visiblefor to make sure you can only see or modify what you should be able to.

DashboardTileSentryQueryInfo

DocDocumentSentry

DocDocumentSentry guards DocDocument entities and their component rows.

The DocDocumentSentry applies to the following classes: DocDocument, DocDocumentRow, TextRow, UDLarge + UDSmall

DocDocumentSentryQueryInfo

EjCategoryCache

Cache holding information about the ejcategories and category memberships

ErpConnectionAccessCache

FieldProperty

Class holding properties like field length, field type about a field in the carrier.

FieldPropertyDictionary

FieldRight

Wraps the field right together with an explanatory reason. Also adds logical operators to the field rights so that they can be easily combined.

FieldRights

FunctionRight

Represents a Function Right together with an description of the function. Function rights typically represent abilities like "can admin users" or "can create private appointments".

FunctionRightCache

GenericRight

Base class for TableRight, FieldRight and FunctionRight. Provides a read-only reason field. Sub-classes define one or more permissions that the right can allow. For example: FieldRight defines Read+Write+Mandatory rights on a field.

HierarchySentry

Guards Hierarchy entities - only admins can create, update, delete them.

HierarchySentryQueryInfo

IgnoreSentryCheck

Disposable class reruned by BeginIgnoreSentryCheck().
Dispose on the this class will invoke a EndIgnoreSentryCheck(). This object is designed to be used with using.

ItemRight

Abstract parent class - introduces the concept "IsActive" which is used by both FunctionRight and FieldRight

KbEntrySentry

KbEntrySentry guards KbEntry entities and their component rows.

The KbEntrySentry applies to the following classes: KbEntry, KbEntryRow, TextRow, UDLarge + UDSmall

KbEntrySentryQueryInfo

LookupCollection

Collection of objects that implement the Lookup interface.

OwnerContactCache

PersonSentry

PersonSentry guards Person entities and their component rows. The PersonSentry applies to the following classes: Person, PersonRow, AddressRow, PhoneRow, EmailRow, UrlRow, InterestRows, UdefLarge and UdefSmall

PersonSentry.PersonSentryQueryInfo

Tables covered by PersonSentry.

ProjectSentry

ProjectSentry guards Project entities and their component rows. The ProjectSentry applies to the following classes: Project, ProjectRow, ProjectMemberRow, PhoneRow, EmailRow, UrlRow, TextRow, UdefLarge and UdefSmall

ProjectSentryQueryInfo

QuoteAlternativeSentry

QuoteAlternativeSentryQueryInfo

QuoteLineConfigurationCache

Cache for Quoteline configuration fields

QuoteLineSentry

QuoteLineSentryQueryInfo

QuoteSentry

QuoteSentryQueryInfo

QuoteVersionSentry

QuoteVersionSentryQueryInfo

RefCountsPermissionCache

RelationsSentry

RelationsSentry guards Relations entities The RelationsSentry applies to the following classes: RelationsRow

RelationsSentryQueryInfo

ReplyTemplateSentry

ReplyTemplateSentry guards ReplyTemplate entities and their component rows.

The ReplyTemplateSentry applies to the following classes: ReplyTemplate, ReplyTemplateRow, TextRow, UDLarge + UDSmall

ReplyTemplateSentryQueryInfo

Rights<TKey, TValue>

RoleRightsSentry<TMainTable>

Summary description for Sentry.

SORPublishSentry

SORPublishSentryQueryInfo

SaleSentry

SaleSentry guards Sale entities and their component rows.

The SaleSentry applies to the following classes: Sale, SaleRow, TextRow, UDLarge + UDSmall

SaleSentryQueryInfo

SatelliteSentry

SatelliteSentryQueryInfo

SelectionSentry

SelectionSentry guards Selection entities and their component rows. The SelectionSentry applies to the following classes: Selection, SelectionRow, TextRow, SelectionMemberRow

SelectionSentryQueryInfo

Sentry

Sentry.DataRightCache

Cache holding data rights on different tables. This should only be used internally by the sentries

SentryCollection

Collects zero or more sentries together in an group. Makes it easy to perform aggregated queries across the collection.

SentryIgnorableHelper

SentryPluginAttribute

Attribute used to declare a sentry plug-in. Objects declared with this attribute also needs to implement the interface ISentryPlugin.

SentryPluginQueryTableUpdaterAttribute

This attribute is used to declare a class to be a sentry plug-in query table updater for one particular table. Such classes have to implement the ISentryPluginQueryTableUpdater interface.

SentryPreferenceCache

Caches preferences in the "Rights-*" section. Cache is manually flushed when SoPreference sets a "Rights-" preference value, or every 10 minutes.

SentryQueryAppointmentTableUpdater

SentryQueryAssociateTableUpdater

SentryQueryBinaryObjectableUpdater

SentryQueryContactTableUpdater

SentryQueryDashBoardTableUpdater

SentryQueryDashboardTileTableUpdater

SentryQueryDocDocumentTableUpdater

SentryQueryDocumentTableUpdater

SentryQueryEjMessageTableUpdater

SentryQueryEmailFlowTableUpdater

SentryQueryInfo

Information about a query - like table infos, etc.

SentryQueryInfo<TMainTable>

Class holding TableInfos on behalf of a Sentry implementation. Subclasses contain 'typed' tableinfos (as properties/fields) and 'untyped' tableinfos in an array.

SentryQueryKbEntryTableUpdater

SentryQueryLicenseSatlLinkTableUpdater

SentryQueryPersonTableUpdater

SentryQueryProjectMemberTableUpdater

SentryQueryProjectTableUpdater

SentryQueryQuoteAlternativeTableUpdater

SentryQueryQuoteLineTableUpdater

SentryQueryQuoteTableUpdater

SentryQueryQuoteVersionTableUpdater

SentryQueryRelationsTableUpdater

SentryQueryReplyTemplateTableUpdater

SentryQuerySaleStakeholderTableUpdater

SentryQuerySaleTableUpdater

SentryQuerySatelliteTableUpdater

SentryQuerySelectionMemberTableUpdater

SentryQuerySelectionTableUpdater

SentryQueryTableUpdaterAttribute

This attribute is used to declare a class to be a query updated for a sentry. Such classes have to implement the ISentryQueryTableUpdater interface

SentryQueryTargetAssignmentInfoTableUpdater

SentryQueryTicketLogActionTableUpdater

SentryQueryTicketLogChangeTableUpdater

SentryQueryTicketLogTableUpdater

SentryQueryTicketTableUpdater

SentryQueryUDefFieldTableUpdater

SentryQueryUpdater

Modifies SELECT queries according to the fields used in the query. For example, if a person row is being read, then a contact row will be outer-joined to provide the contact.associate-id for the sentry. If the appointment table is being searched, then the appointment table is inner-joined with the visible-for table to filter out any hidden/private appointments.

The query updater will analyze the query and automatically add the sentries it considers relevant to the query unless the SoCommand.IsAutoSentry flag is cleared.

The query updater uses the sentries attached to the query to modify the query to ensure that all the right fields and restrictions are in place. This ensures that private or unpublished data is filtered out on the server.

This plug-in will also throw an SoSentryException if an update violates a sentry's rules.

SentryQueryWorkflowTableUpdater

Sentry<TMainTable>

Summary description for Sentry.

Sentry<TMainTable>.ResourceSymbol

Helper class for identifying resources

TableRight

Wraps a table right together with an explanatory reason. Code can indicate why access is restricted.

TableRights

TargetAssignmentInfoSentry

TargetsSentry guards Targets entities. It is using datarights and visiblefor to make sure you can only see or modify what you should be able to.

TargetAssignmentInfoSentryQueryInfo

TicketSentry

TicketSentry guards Ticket entities and their component rows.

The TicketSentry applies to the following classes: Ticket, TicketRow, TextRow, UDLarge + UDSmall

TicketSentryQueryInfo

UDefFieldQueryInfo

UDefFieldSentry

Sentry for user-defined field definitions

UserGroupCache

Cache holding information about the users (e.g. associates) user groups

VisibleForSentryHelper

Helper class for sentry functionality, to modify SELECT queries so that they include the correct join and restriction

WorkflowSentry

WorkflowSentry guards Workflow entities. It is using visiblefor to make sure you can only see or modify what you should be able to.

WorkflowSentryQueryInfo

Interfaces

ISentryIgnorable

Interface providing mechanisms for temporary ignoring sentry for the current thread.

ISentryPlugin

Interface that has to be implemented by sentry plug-ins.
Sentry plug-ins also needs to be declared with attribute SentryPluginAttribute.

ISentryPluginQueryTableUpdater

Interface that has to be implemented by sentry plug-in query table updater for one particular table in order to modify queries sent to the database.

ISentryQueryTableUpdater

Interface for query modifiers connected to sentries. A sentry that needs to modify queries will contain one or more classes (one for each table to be modified) implementing this interface

ISoDataLookup

ISoDataLookup is used by the sentry to figure out the values for a particular row. The TableRowsBase row objects, the SoDataReader data reader and SoCommand insert/update/delete commands implement this interface to provide the sentry with data.

Enums

EOwnershipIndex

This is used as an index into a matrix of tablerights when calculating the access rights for an associate.

TicketSentry.TicketIntent

UserGroupCache.GroupRelation

© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top