DoesUserExist (OP-07)¶
Request and response¶
| Part | Type | Description |
|---|---|---|
inUserId |
String |
The SamAccountName to look up. |
inExternalDomain |
Boolean |
Selects external.saif.com when True, corp.saif.com when False (BR-07). |
| Part | Type | Description |
|---|---|---|
<return> |
Boolean |
True when a principal resolves for inUserId in the selected domain, False otherwise. |
WebMethod attributes¶
<WebMethod()> — bare, no arguments supplied.
Steps¶
- No access check is performed (BR-06).
- Call H2
GetUserPrincipalwith the caller-suppliedinExternalDomain(BR-07). - Return
Falseif the principal isNothing, else returnTrue(BR-21) —Falsetherefore means both "the user is absent" and "the directory was unreachable" (tech debt TD-22, MEDIUM — see Tech debt).
Process flow¶
flowchart TD
A["Call DoesUserExist"] --> B["GetUserPrincipal<br>caller-selected domain"]
B -->|"Nothing"| C["Return False"]
B -->|"Found"| D["Return True"]
Shared state effects¶
None — this operation touches no process-wide state; all locals are per-request.
Error handling¶
This operation never faults: every branch of GetUserPrincipal (H2), including a directory exception, returns Nothing, which this operation maps to False. See Faults for the service-wide fault model.
Authorization¶
None in code. This is one of the eleven ungated operations — see Authentication and authorization.
Related documentation¶
- Service index
- Overview
- Architecture
- Activation and hosting
- Operations
- Operations and processes
- Business rules
- Authentication and authorization
- Configuration
- Dependencies
- Faults
- Operational runbook
- Tech debt
Sources¶
src\ADUserServices\clsADUserServices.asmx.vb(lines 342-353)