Namespace: OpenEdge.Security.Provider
Class
UserTableAuthProvider
Parent classes:
Inherits: Progress.Lang.Object
Implements: OpenEdge.Security.Provider.IAuthProvider, OpenEdge.Logging.ISupportLogging

Copyright (c) 2016 by Progress Software Corporation. All rights reserved.
File:UserTableAuthProvider
Purpose:STS authentication provider for built-in _User table
Author(s):pjudge
Created:Tue Feb 23 11:11:25 EST 2016
Notes:* Requires an STSDB alias for the db whose _User records we
are using for authentication




Method Summary
Options Name Purpose
FindUserRecordForRead (character, buffer) /* Helper method for finding a _User record for READ @param character The User@Domain user name/id @param buffer The _User buffer to use */
FindUserRecordForUpdate (character, buffer) /* Helper method for finding a _User record for UPDATE @param character The User@Domain user name/id @param buffer The _User buffer to use */
CHARACTER GetAttribute (character, character) /* Retrieves a value for the a requested attribute, per user @param character A unique userid @param character The name of the attribute for which to return a value return character An attribute value for the given user. May be empty or unknown. */
CHARACTER GetAttributeNames (character) /* Returns an array of attributes for a given user. In the _USER case all users are equal. @param character A unique userid @return character[] An array of attribute names. */
LoadConfig () /* Loads configuration for this provider */
LOGICAL SetAttribute (character, character, character) /* Sets an attribute's value for a user. May optionally create an attribute value. @param character A unique userid @param character The name of the attribute to remove @param character The value to apply @return logical TRUE if the attribute value was successfully set; FALSE otherwise */
CHARACTER SplitUserId (character) /* Splits a user@domain string into its component parts. @param character A user@domain string to split @return character[2] 1=userid (not empty/null); 2=domain (not null) */
CHARACTER Stringify (character) /* Stringifies an attribute value for return to the caller. No validation typically done on the input. @param character The value to format @return character An appropriately-formatted character value */
CHARACTER Stringify (datetime-tz) /* Stringifies an attribute value for return to the caller. No validation typically done on the input. @param datetime-tz The value to format @return character An appropriately-formatted character value */
CHARACTER Stringify (decimal) /* Stringifies an attribute value for return to the caller. No validation typically done on the input. @param decimal The value to format @return character An appropriately-formatted character value */
CHARACTER Stringify (integer) /* Stringifies an attribute value for return to the caller. No validation typically done on the input. @param integer The value to format @return character An appropriately-formatted character value */
CHARACTER Stringify (logical) /* Stringifies an attribute value for return to the caller. No validation typically done on the input. @param logical The value to format @return character An appropriately-formatted character value */
CHARACTER Stringify (longchar) /* Stringifies an attribute value for return to the caller. No validation typically done on the input. @param longchar The value to format @return character An appropriately-formatted character value */
LOGICAL ValidatePassword (character, character) /* Simple, clear-text password validation for a user @param character A unique userid @param character The user's (cleartext) password to verify @return logical TRUE if the provide credentials match the realm's values */
LOGICAL ValidatePassword (character, character, character, character) /* Digest-encoded password validation for a user @param character A unique userid @param character The hashed digest of the password to verify @param character The nonce value used to create the digest hash @param character The timestamp value used to create the digest hash @return logical TRUE if the provide credentials match the realm's values */
CHARACTER ValidateUser (character) /* Validates that the username is in the realm, and returns a unique identifier for the user (which may be the username@domain). @param character The client-supplied username @return character A unique identifier for the user */

Constructor Summary
Options Name Purpose
UserTableAuthProvider () /* Default constructor */
UserTableAuthProvider (IPasswordPolicyProvider) /* Constructor @param IPasswordPolicyProvider The provider used to provide password hashing etc */

Property Summary
Options Name Purpose
OpenEdge.Logging.ILogWriter Logger
OpenEdge.Security.Provider.IPasswordPolicyProvider PasswordProvider
CHARACTER REALM_ATTR_DESCRIPTION
CHARACTER REALM_ATTR_DOMAIN
CHARACTER REALM_ATTR_EMAIL
CHARACTER REALM_ATTR_ENABLED
CHARACTER REALM_ATTR_EXPIRED
CHARACTER REALM_ATTR_GIVENNAME
CHARACTER REALM_ATTR_LAST_LOGIN
CHARACTER REALM_ATTR_LOCKED
CHARACTER REALM_ATTR_LOGIN_FAILURES
CHARACTER REALM_ATTR_MIDDLEINITIAL
CHARACTER REALM_ATTR_PASSWD
CHARACTER REALM_ATTR_PROPERTIES
CHARACTER REALM_ATTR_ROLES
CHARACTER REALM_ATTR_SQL_ONLY
CHARACTER REALM_ATTR_SURNAME
CHARACTER REALM_ATTR_TELEPHONE
CHARACTER REALM_ATTR_USERID


Method Detail
Top

FindUserRecordForRead (character, buffer)

/* Helper method for finding a _User record for READ
Parameters:
pcUserName CHARACTER
pbUser buffer
Top

FindUserRecordForUpdate (character, buffer)

/* Helper method for finding a _User record for UPDATE
Parameters:
pcUserName CHARACTER
pbUser buffer
Top

CHARACTER GetAttribute (character, character)

/* Retrieves a value for the a requested attribute, per user
return character An attribute value for the given user. May be empty or unknown.
Parameters:
pcUserId CHARACTER
pcAttributeName CHARACTER
Returns CHARACTER
Top

CHARACTER GetAttributeNames (character)

/* Returns an array of attributes for a given user.
In the _USER case all users are equal.
Parameters:
pcUserId CHARACTER
Returns CHARACTER
character[] An array of attribute names.
Top

LoadConfig ()

/* Loads configuration for this provider
Top

LOGICAL SetAttribute (character, character, character)

/* Sets an attribute's value for a user. May optionally create an attribute value.
Parameters:
pcUserId CHARACTER
pcAttributeName CHARACTER
pcAttributeValue CHARACTER
Returns LOGICAL
logical TRUE if the attribute value was successfully set; FALSE otherwise
Top

CHARACTER SplitUserId (character)

/* Splits a user@domain string into its component parts.
Parameters:
pcUserName CHARACTER
Returns CHARACTER
character[2] 1=userid (not empty/null); 2=domain (not null)
Top

CHARACTER Stringify (character)

/* Stringifies an attribute value for return to the caller.
No validation typically done on the input.
Parameters:
pcValue CHARACTER
Returns CHARACTER
character An appropriately-formatted character value
Top

CHARACTER Stringify (datetime-tz)

/* Stringifies an attribute value for return to the caller.
No validation typically done on the input.
Parameters:
ptValue DATETIME-TZ
Returns CHARACTER
character An appropriately-formatted character value
Top

CHARACTER Stringify (decimal)

/* Stringifies an attribute value for return to the caller.
No validation typically done on the input.
Parameters:
pdValue DECIMAL
Returns CHARACTER
character An appropriately-formatted character value
Top

CHARACTER Stringify (integer)

/* Stringifies an attribute value for return to the caller.
No validation typically done on the input.
Parameters:
piValue INTEGER
Returns CHARACTER
character An appropriately-formatted character value
Top

CHARACTER Stringify (logical)

/* Stringifies an attribute value for return to the caller.
No validation typically done on the input.
Parameters:
plValue LOGICAL
Returns CHARACTER
character An appropriately-formatted character value
Top

CHARACTER Stringify (longchar)

/* Stringifies an attribute value for return to the caller.
No validation typically done on the input.
Parameters:
pcValue LONGCHAR
Returns CHARACTER
character An appropriately-formatted character value
Top

LOGICAL ValidatePassword (character, character)

/* Simple, clear-text password validation for a user
Parameters:
pcUserId CHARACTER
pcPassword CHARACTER
Returns LOGICAL
logical TRUE if the provide credentials match the realm's values
Top

LOGICAL ValidatePassword (character, character, character, character)

/* Digest-encoded password validation for a user
Parameters:
pcUserId CHARACTER
pcDigest CHARACTER
pcNonce CHARACTER
pcTimestamp CHARACTER
Returns LOGICAL
logical TRUE if the provide credentials match the realm's values
Top

CHARACTER ValidateUser (character)

/* Validates that the username is in the realm, and returns a unique identifier for
the user (which may be the username@domain).
Parameters:
pcUserName CHARACTER
Returns CHARACTER
character A unique identifier for the user


Constructor Detail
Top

UserTableAuthProvider ()

/* Default constructor
Top

UserTableAuthProvider (IPasswordPolicyProvider)

/* Constructor
Parameters:
poPasswordProvider OpenEdge.Security.Provider.IPasswordPolicyProvider


Property Detail
Top

OpenEdge.Logging.ILogWriter Logger

Returns OpenEdge.Logging.ILogWriter
Top

OpenEdge.Security.Provider.IPasswordPolicyProvider PasswordProvider

Returns OpenEdge.Security.Provider.IPasswordPolicyProvider
Top

CHARACTER REALM_ATTR_DESCRIPTION

Returns CHARACTER
Top

CHARACTER REALM_ATTR_DOMAIN

Returns CHARACTER
Top

CHARACTER REALM_ATTR_EMAIL

Returns CHARACTER
Top

CHARACTER REALM_ATTR_ENABLED

Returns CHARACTER
Top

CHARACTER REALM_ATTR_EXPIRED

Returns CHARACTER
Top

CHARACTER REALM_ATTR_GIVENNAME

Returns CHARACTER
Top

CHARACTER REALM_ATTR_LAST_LOGIN

Returns CHARACTER
Top

CHARACTER REALM_ATTR_LOCKED

Returns CHARACTER
Top

CHARACTER REALM_ATTR_LOGIN_FAILURES

Returns CHARACTER
Top

CHARACTER REALM_ATTR_MIDDLEINITIAL

Returns CHARACTER
Top

CHARACTER REALM_ATTR_PASSWD

Returns CHARACTER
Top

CHARACTER REALM_ATTR_PROPERTIES

Returns CHARACTER
Top

CHARACTER REALM_ATTR_ROLES

Returns CHARACTER
Top

CHARACTER REALM_ATTR_SQL_ONLY

Returns CHARACTER
Top

CHARACTER REALM_ATTR_SURNAME

Returns CHARACTER
Top

CHARACTER REALM_ATTR_TELEPHONE

Returns CHARACTER
Top

CHARACTER REALM_ATTR_USERID

Returns CHARACTER


Copyright © 2022 Progress Software Corporation. All rights Reserved.

Progress® OpenEdge® Release 11.7.15