---
title: SAIF.Business.Security.SystemUser overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Security.SystemUser
reference_type: package
---

# SAIF.Business.Security.SystemUser overview

> **Documentation context:** Packaged Component (NuGet)

`SAIF.Business.Security.SystemUser` is a legacy .NET Framework library that manages external Active Directory users, classifies authenticated portal users into `UserTypes`, and applies credential-related checks such as password changes and payment-password validation.

## Purpose
- Manage Business Online external-user lifecycle operations against the EXTERNAL Active Directory domain.
- Provide caller-consumable user classification through `UserType` and `IsXxx` properties derived from domain and group membership.
- Support portal credential workflows including password changes, payment-password validation, uniqueness checks, and special-user credential lookup.

## Responsibilities
- Initialize an Active Directory session by combining `clsSecurityPrincipal`, elevated credentials, and `SAIF.DirectoryServices` abstractions.
- Create, search, update, and delete EXTERNAL-domain user accounts.
- Add and remove users from named Active Directory groups.
- Validate user IDs, passwords, payment passwords, and online security-agreement configuration.
- Expose a test harness class for manual verification of role-classification behavior.

## Key components
- `clsSystemUser`: Primary façade for Active Directory user management, role classification, and credential checks.
- `clsSystemUser.UserTypes`: Enumeration that represents the library's caller-visible classification outcomes.
- `clsSystemUser.UserStructure`: Public structure that carries account data for create and update operations.
- `clsSystemUserTest`: Utility class that exercises authentication and reports classification flags.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)
- [Configuration](configuration.md)

## Sources
- `Business\SAIF.Business.Security.SystemUser\clsSystemUser.vb`
- `Business\SAIF.Business.Security.SystemUser\clsSystemUserTest.vb`
- `Business\SAIF.Business.Security.SystemUser\App.config`
- `Business\SAIF.Business.Security.SystemUser\packages.config`
- `Business\SAIF.Business.Security.SystemUser\SAIF.BOF.Business.Security.SystemUser.vbproj`
- `Business\SAIF.Business.Security.SystemUser\SAIF.BOF.Business.Security.SystemUser.nuspec`
