A computer system provides system-wide computer application security using
role-based identifiers. The programmer identifies secured functions
within a software application using a hierarchical identifier. The
hierarchical identifiers are grouped together into privilege sets. The
privilege sets and other hierarchical identifiers are grouped together
into job functions, which are in turn grouped into larger subsets called
user roles. These user roles are stored in a data store. User identifiers
are created. Each user identifier is linked to one user role in the data
store. A surrogate identifier is created to correspond to each user role
and is stored in the data store. The surrogate identifiers are not
disclosed to the users. A user is given permission to access secured
functions within an application by retrieving a surrogate identifier from
the data store, which shares the same user role as the user. Access
rights are determined using the surrogate identifier to validate
permissions on a security provider.