Skip to content

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

  1. No access check is performed (BR-06).
  2. Call H2 GetUserPrincipal with the caller-supplied inExternalDomain (BR-07).
  3. Return False if the principal is Nothing, else return True (BR-21) — False therefore 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.

Sources

  • src\ADUserServices\clsADUserServices.asmx.vb (lines 342-353)