People SuitePurposeThe purpose of the People suite is to provide a central database and API for storing user passwords, access permissions, and other user information that Frontier services may need to access.See the Custody Suite for an example suite that uses the People Suite. Fat PageThis page contains the People Suite, version 1.0b6.You will need to run the init script at suites.people.init before using the People suite. The People suite must be installed before the Custody suite is installed. ServicesServices are scripts, suites, or systems that must maintain a list of users with varying privileges, passwords, and so on.Services must be registered with the People suite before they are used. Any individual user may or not have access to specific services. ExtendabilityThe people suite is extendable.Service definitions may contain scripts that over-ride or extend the built-in behavior of the People suite. Database structureEvery user has their own table of information. The name of the table is the username.At minimum, the table also includes a password and an email address. Every service the user has access to is represented by a subtable in the user's table. For instance, the user.people.PBS.services.custody table exists if user 'PBS' is allowed to check objects in and out with the Custody suite. This table contains additional information about the user that is private to the Custody suite. All data is stored in the user.people table: users UserOne password emailAddress [other optional public data] Services serviceOne flenabled (boolean)
[private data for this service regarding this user.
services ServiceOne authenticateUser (script) (optional) deleteUser (script) (optional) flenabled (boolean) newUser (script) (optional) virginUserTable (table)
Changes 7/14/97New verbs:GetServiceUsersList (serviceName) returns a list of users who have access of any kind to the specified service. GetUsersList () returns a list of all users who have access to any kind to any service. UserExists (userName) return true or false, depending on if the user exists at all for any service. Changed verbs: newUser (userName, password, emailAddress, serviceName = "") ServiceName is now an optional parameter. You can now use this verb to create a user without assigning giving the user access to any services. registerService (serviceName, adrServiceDefinition = nil) AdrServiceDefinition is now optional. If you don't specify, a default, plain service definition will be used. APIManaging Users: getting and setting public info
SetUserEmailAddress (userName, emailAddress)
GetUserEmailAddress (userName)
GetUserPassword (userName)
SetUserPassword (userName, password)
GetPublicInfo (userName, infoName)
SetPublicInfo (userName, infoName, infoValue)
GetUsersList ()
UserExists (userName)
Managing Services: registering, creating, and destroying services
RegisterService (serviceName, adrServiceDefinition)
UnRegisterService (serviceName)
EditServiceDefinition (serviceName, adrServiceDefinition)
GetRegisteredServices ()
ServiceIsRegistered (serviceName)
Users and Services: authenticating users, creating new users, etc.
AuthenticateUser (userName, password, serviceName)
NewUser (userName, password, emailAddress, serviceName)
NewUserService (userName, serviceName)
DeleteUser (userName, serviceName)
GetUserServices (userName)
ServiceIsEnabled (userName, serviceName)
GetUserInfo (userName, serviceName)
SetUserInfo (userName, serviceName, adrInfoTable)
GetDataAddress (userName, serviceName)
GetServiceUsersList (serviceName)
|
||||||||
|