Repository navigation
platform sdk access control
In Security Center, access control is a policy-and-hardware system that decides who can go where, when, and through which doors. The Platform SDK exposes it as four conceptual layers:
-
Identity:
Cardholder(the person),CardholderGroup(logical grouping),Credential(the token: card, PIN, biometric, mobile). -
Locations:
Door(a barrier with two sides),Area(a logical space containing doors and other entities),Elevatorand itsFloorcollection, plusAccessPointfor the per-side reader and sensor wiring. -
Policy:
AccessRuleties cardholders or groups to aScheduleand a set of access points. -
Hardware: an access control unit (the SDK class is
Unit) hostsInterfaceModuleboards. Each interface module wires physical readers, REX buttons, door sensors, and door locks to the door's logical access points.
Deny rules at an access point take precedence over grant rules at the same point. Outside a rule's schedule, the rule does not grant access. A temporary access rule (AccessRuleType.Temporary) adds a StartTime/EndTime activation window and grants no access outside it; a permanent rule is governed by its schedule alone.
- Cardholder and credential lifecycle, status methods, builder workflow, credential requests: see About cardholders and credentials.
- Doors, areas, elevators, and per-access-point wiring: see About doors, areas, elevators, and access points.
- Access-rule creation, member management, schedule construction, twilight coverage: see About access rules and schedules.
- Access control units, interface modules, and peripheral types: see About access control units and interface modules.
- Reusable door configuration applied to many doors at once: see Door templates.
- Active and archived visitors, recreation of returning visitors: see Visitors.
- Mobile credentials: see Mobile credentials.
Credential.HasAccess(Door.DoorSide, DateTime) and Credential.HasAccess(Floor, DateTime) return an AccessResult reporting whether the credential's configured access rights grant access at a door side or an elevator floor at a given moment. Use them to validate rule setup, credential status, and schedule coverage without involving the reader.
The result reflects configuration, not the cardholder's current position in the system. Where antipassback is enforced, a result of Granted means the configuration allows access, not that the reader will grant it on the next presentation.
- About cardholders and credentials: Cardholder and credential lifecycle in depth.
- About doors, areas, elevators, and access points: The location entities and their per-access-point wiring.
- About access rules and schedules: The policy and time-coverage layer.
- About access control units and interface modules: Unit and interface-module construction.
- Door templates: Reusable door configuration projected across many doors.
- Visitors: Active and archived visitor lifecycle.
- Mobile credentials: Mobile credential issuance and lifecycle.
- Privileges: Operator permissions and the privilege model.
- Overview
- Connecting to Security Center
- SDK certificates
- Referencing SDK assemblies
- ASP.NET hosting
- SDK compatibility
- Migrating to modern .NET
- Entities
- Entity cache
- Entity loading, cache, and query options
- Detecting entity changes
- Entity change event reference
- Transactions
- Security Center events
- Actions
- Security Desk
- Custom events
- Event-to-actions
- Managing macros
- ReportManager
- ReportManager query reference
- Access control raw events
- DownloadAllRelatedData and StrictResults
- Privileges
- Partitions
- Entity write restrictions
- About custom fields
- About video
- About cameras
- Enrolling a video unit
- Ingesting third-party video
- Archiver and auxiliary archiver roles
- Archive transfer
- About access control
- About cardholders and credentials
- About doors, areas, elevators, and access points
- About access rules and schedules
- About access control units and interface modules
- Enrolling an access control unit
- Door templates
- Visitors
- Mobile credentials
- About threat levels
- About alarms
- About incidents
- Maps
- Logging
- Overview
- Localization
- Certificates
- Lifecycle
- Threading
- State management
- Configuration
- Restricted configuration
- Events
- Queries
- Request manager
- Database
- Entity ownership
- Engine extensions
- Entity mappings
- Server management
- Custom privileges
- Custom entity types
- Resolving non-SDK assemblies
- Deploying plugins
- Modern .NET support
- Overview
- Localization
- Certificates
- Creating modules
- Tasks
- Pages
- Components
- Tile extensions
- Services
- Contextual actions
- Custom actions
- Options extensions
- Configuration pages
- Monitors
- Shared components
- Commands
- Extending events
- Map extensions
- Timeline providers
- Image extractors
- Credential encoders
- Credential readers
- Cardholder fields extractors
- Badge printers
- Content builders
- Dashboard widgets
- Incidents
- Logon providers
- Pinnable content builders
- Custom report pages
- Overview
- Getting started
- Media file formats
- MediaPlayer
- VideoSourceFilter
- MediaExporter
- MediaFile
- G64 converters
- FileCryptingManager
- PlaybackSequenceQuerier
- PlaybackStreamReader
- OverlayFactory
- PtzCoordinatesManager
- AudioTransmitter
- AudioRecorder
- AnalogMonitorController
- Camera blocking
- Overview
- Getting started
- Referencing entities
- Entity operations
- About access control in the Web SDK
- About video in the Web SDK
- Users and user groups
- Partitions
- Custom fields
- Custom card formats
- Actions
- Events and alarms
- Incidents
- Reports
- Tasks
- Macros
- Custom entity types
- System endpoints
- Performance guide
- Reference
- Endpoints
- Constants
- Enumerations
- Under the hood
- Troubleshooting