PDF HTML FlashPaper

Application Portal | Tech Docs

  1. Application Details
  2. Application Overview
  3. Roles
  4. Database Schema
  5. Flow
  6. CFC's & Functions
  7. Notes

Application Details

Developer: Joe Gautreau | Programmer / Web Application Developer | jgautreau@judsonisd.org | (210) 945-5558
Development Platform: ColdFusion MX 7, SQL Server, Model-Glue Framework, CSS Layout
Development Server: Testweb
Development Database: ERCSQL
Production Server: Web1
Production Database: ERCSQL2K5
Launch Date: August 21, 2007

Back To Top


Application Overview

The Application Portal was designed to be the facilitator between users and in-house developed web applications.  The goal here was to use the Application Portal to authenticate users against Active Directory.  If authenticated, any groups they are members of through recursion are brought back, as well as employeeID, employee name, and employee email.  These attributes are placed into session variables for the duration of the user's stay.  We then go to our "userRole" table in the Application Security table and look for any groups that match the list of user groups brought back from Active Directory, following this up with a look up by employeeID to override any previously set permissions.  Application permissions are then set based on the data set returned.  These items are set into session via a User Key Chain.

The user is then taken to a landing page with all of the applications they have permission to displayed.  They then have their choice of where they would like to go from there.

To sum it all up, the Application Portal is for user authentication, assigning of permissions, and a gateway to any in-house applications.

Back To Top


Roles

There are no "Roles" for this application.  This application simply performs the function of user authentication and permissioning.

Back To Top


Database Schema

Below you will find the Application Portal database schema along with a short description for each table.

Application Portal Database Schema

Application Table:  This table is used to store data about in-house applications.  The application name, url, description, developer, owner, active or not, and manageable or not information are stored in this table.  If you want to create a new in house application this is the first place you would start.  Here your AppID is created to be used elsewhere.

AppRole Table:  This table is used to store the different types of roles that an application may have.  For instance "Application A" may have User, Manager and Admin roles, so in this table you'll find three entries for those role types, once a role is defined, a roleID is created to be used in the userRole table.

UserRole Table:  This table is used to store all user permissions.  The user's employeeID is the stored with the applicationID and roleID that they have access to.  A user can have multiple entries in this table because access to multiple applications is probable.

FailedLoginLog Table:  This table off to it self it used simply to store all failed logins to the Application Portal.  This is for tracking purposes only.

Back To Top


Flow

Application Portal Data Flow Document - Click to download the PDF.

Back To Top


CFC's & Functions

MyAuthenticator.cfc

init:

getAllGroups:

authenticateUser:

setUserKeyChain:

Security.cfc

init:

checkSecurityLevel:

Back To Top


Notes

Future revisions to this application would be to tie it together with the Application Manager tool and fix error handling.  We probably need to re-think our application security methodology now that the "Portal" is in place.

Back To Top