University of Northern Iowa - PeopleSoft CAS Configuration - Public

download University of Northern Iowa - PeopleSoft CAS Configuration - Public

of 34

Transcript of University of Northern Iowa - PeopleSoft CAS Configuration - Public

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    1/34

    PeopleSoft CAS Configuration

    CAS-ifying PeopleSoftChad Wittrock

    University of Northern Iowa

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 1/34

    mailto:[email protected]:[email protected]
  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    2/34

    PeopleSoft CAS Configuration

    Contents

    Setup Information ....................................................................................................................... 3

    PeopleSoft Instal la tions ......................................................................................................... 3

    CAS Instal lation ....................................................................................................................... 3

    Ticke t Validation Java class....................................................................................................... 3

    val idate( ) .................................................................................................................................. 3

    SignOn PeopleCode.................................................................................................................... 3

    Custom HTML files ...................................................................................................................... 4

    signin.ht ml ............................................................................................................................... 4

    signin_error.html ..................................................................................................................... 5

    logout_ps.html ......................................................................................................................... 5

    expire.ht ml ............................................................................................................................... 5

    Web Profi le .................................................................................................................................. 5

    Implementa tion .......................................................................................................................... 6

    Step 1 Instal l Java class files.............................................................................................. 6

    Step 2 Install and Activate SignOn PeopleCode.............................................................6

    Step 3 Instal l custom HTML fi les ....................................................................................... 7

    Step 4 Web Profi le ............................................................................................................... 8Step 5 Configure Single Sign Out ...................................................................................... 9

    Step 6 User Profile Setup .................................................................................................... 9

    Debugging ................................................................................................................................... 9

    SignOn PeopleCode................................................................................................................ 9

    Wri te to log table ................................................................................................................. 9

    TracePC............................................................................................................................... 10

    PeopleCode Debugger ...................................................................................................... 10

    Logging from Java Class...................................................................................................... 11

    SignOn PeopleCode .......................................................................................................... 11

    PsCasClien t ........................................................................................................................ 11

    Server Paths .............................................................................................................................. 12

    Enterprise Portal ................................................................................................................... 12

    Campus Solutions ................................................................................................................. 12

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 2/34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    3/34

    PeopleSoft CAS Configuration

    Customer Relationship Management ................................................................................ 12

    Source Code.............................................................................................................................. 13

    PsCasClient (Ticket Validat ion Java Class)........................................................................ 13

    VALIDATE_TICKET (SignOn PeopleCode) ........................................................................... 14

    signin.ht ml ............................................................................................................................. 16

    signin_error.html ................................................................................................................... 22

    logout_ps.html ...................................................................................................................... 24

    expire.ht ml ............................................................................................................................ 24

    expire.html

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 3/34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    4/34

    PeopleSoft CAS Configuration

    Setup Information

    PeopleSoft Installations

    PeopleSoft Application Application Version PeopleToolsVersion

    Enterprise Portal 9.10.00.209 8.50.06.000

    Campus Solutions 9.10.00.340 8.50.06.000

    Customer RelationshipManagement

    9.00.00.340 8.50.00.061

    CAS InstallationCAS version 3.3.5 with protocol version 2.0 and 1.0 enabled.

    Ticket Validation Java classThe ticket validation class is called from custom SignOn PeopleCode. This class has

    one method validate()that accepts three parameters: fullUrl ,ticket , and casPath .

    This code requires that the Java environment provide s support for SSL/HTTPSconnections. In the current PeopleSoft deployment this requires additional files

    fromSun which are distributed as the JSSE (Java Secure Socket Extension) package.

    This class requires the following Java libraries to be installed on the applicationserver: jsse.jar , jnet.jar , jcert.jar

    validate ()This method accepts three parameters: fullUrl, ticket, and casPath. The method

    attempts to validate the given ticketwith the CAS server found at the given casPath

    for the provided service. A URL is created using the parameters to access the

    validate servlet provided within CAS. Upon successful validation CAS returns 2 linesas the response. The first line is YESor NOdepending on the outcome of the

    validation. If the first line is YESthe second line will contain the username of the

    logged in user. If the validation failed and the first line returns NOthe second line will

    be blank.

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 4/34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    5/34

    PeopleSoft CAS Configuration

    SignOn PeopleCodeSignOn PeopleCode is invoked as part of the sign-on process. This code will only

    execute upon initial sign-on and not execute again unless the user comes back to

    PeopleSoft after logging out. This code obtains a ticket value and service value as

    part of the %Request object. These values are then passed to the Ticket Validation

    Java Class. Based on the response from the Java class, the

    SetAuthenticationResult( ) method is called for the current user.

    Create a new record with one field. Attach PeopleCode to that fields FieldDefault

    event. Add the execution of this code to the SignOn PeopleCode chain so that CAS will

    be called during the sign-on process. The Exec Auth Fail field should be checked when

    adding this custom PeopleCode to SignOn PeopleCode. Checking that box tells

    PeopleSoft to run this code when PeopleSofts delivered authentication fails.

    Custom HTML filesThe delivered HTML files from PeopleSoft are no longer valid when implementing CAS

    for PeopleSoft. All logins will occur on the CAS server and therefore no PeopleSoft

    sign-on form should be displayed to the user. The current deployment of PeopleSoft

    uses one page (signin.html ) for signing in, logging off, and sign-on errors. Custom

    HTML files should be installed and the Web Profile updated to make use of these files.

    Since most requests to PeopleSoft are routed through signin.html, this page can be

    edited to redirect to CAS while passing the default page URL to CAS so that upon

    successful logon, the user is redirected to within PeopleSoft. If the user is redirected

    back to signin.html upon successful login, they will be caught in an infinite loop of

    redirects.

    A custom logout page should also be provided so the user is logged out of PeopleSoft

    and CAS. Uploading this file to the web server and setting the Web Profile to use this

    logout page will sign the user out of PeopleSoft and then redirect them (seamlessly)

    to the CAS logout. Without this redirect to the CAS logout, the user will logout butclicking any link within PeopleSoft will not present a signin page since the user is still

    logged into CAS. PeopleSoft will see that the users session is not valid, send them to

    CAS, see they are logged in, and redisplay the page without ever presenting a signin

    page.

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 5/34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    6/34

    PeopleSoft CAS Configuration

    signin.htmlThis is the main HTML file used by PeopleSoft for sign-on, logout, and sign-on errors.

    Most requests to PeopleSoft automatica lly redirect to this page via delivered

    methods. This page should be changed to redirect the user to CAS login. The service

    tag to be sent to CAS should be the default page (tab) for that PeopleSoft installation.

    For example, for Enterprise Portal, this would be something like

    https://sysprtfe1.student.uni.edu/psp/prtsys/EMPLOYEE/EMPL/h/?tab=DEFAULT. The

    user is redirected back to this default page to prevent being caught in an infinite

    loop of redirects if they were sent back to signin.html.

    The delivered signin.html was copied and one JavaScript function was added to

    accomplish this. The function checks the Request URL to determine if the special case

    parameter CAS_PSwas passed to the signin.html page. If CAS_PSis passed to the

    signin.html page, the delivered PeopleSoft login processes are followed. If the

    parameter is missing, CAS authentication is used. This was done to allow

    administrative users access to PeopleSoft in the case that CAS is down. This

    parameter is not to be publicized outside of tech administrators .

    signin_error.htmlOne assumption that is made when using CAS as the front-end to PeopleSoft is that a

    user who logs into CAS will have a PeopleSoft account matching the username used

    to authentica te with CAS. This may not always be the case, so signin_error.html is

    created to handle this situation. This page displays a generic error that authentication

    could not be performed and to contact the Help Desk. This page will get called viaPeopleSoft delivered methods upon any sign-on error. Since all users getting to

    PeopleSoft (except admin users using the CAS_PSmethod) are already authenticated,

    its safe to assume most users reaching this page were successfully authenticated via

    CAS but do not have a PeopleSoft account. The Web Profile must be updated for this

    page to be used.

    logout_ps.htmlPeopleSoft comes with a delivered logout procedure, but does not log the user out of

    CAS. Adding this page to PeopleSoft will allow the delivered logout process to run and

    then redirect (seamlessly) the user to CAS logout. The Web Profile must be updated

    for this page to be used. The link used in logout_ps.html must be updated to the

    proper CAS server based on the instance it has been installed on.

    expire.htmlUpdating this page is not a requirement of CAS implementation but is documented

    here since other HTML files are being updated at the time of CAS implementa tion.

    This page is a copy of the delivered expire.html page and then updated with UNI look

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 6/34

    https://sysprtfe1.student.uni.edu/psp/prtsys/EMPLOYEE/EMPL/h/?tab=DEFAULThttps://sysprtfe1.student.uni.edu/psp/prtsys/EMPLOYEE/EMPL/h/?tab=DEFAULT
  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    7/34

    PeopleSoft CAS Configuration

    and feel. No update to the Web Profile is required to use this file, just a restart of the

    web server.

    Web ProfileIt is necessary to configure the Web Profile for the PeopleSoft instance that CAS is

    being enable for in order for CAS to work properly. Allow Public Users must be

    enabled with a valid user. A blank User Profile should be created with no roles or

    other security permissions. This will be the default user PeopleSoft attempts to login

    with. This allows the SignOn PeopleCode to trigger and redirect to CAS.

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 7/34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    8/34

    PeopleSoft CAS Configuration

    Implementation

    Step 1 Install Java class files1. Compile the provided Ticket Validation Java Class (PsCasClient.java)

    2. Copy the compi led PsCasClient.class file to the Application Server

    a. Enterprise Portal: /01/prt01/ps_home/pt850/appserv/classes

    b. Campus Solut ions: /01/css01/ps_home/pt850/appserv/classes

    c. Customer Relationship Management: /

    01/crm01/ps_home/pt850/appserv/classes

    3. Copy the Java security libraries: jsse.jar , jnet.jar , and jcert.jar to the

    Application Server

    a. Enterprise Portal: /01/prt01/ps_home/pt850/appserv/classes

    b. Campus Solut ions: /01/css01/ps_home/pt850/appserv/classes

    c. Customer Relationship Management: /

    01/crm01/ps_home/pt850/appserv/classes

    4. These changes will require a restart of the Application Server

    Step 2 Install and Activate SignOn PeopleCodeSteps to create all needed objects for the custom SignOn PeopleCode are provide,

    although the project UNI_ CAS contains all the needed objects and code.

    1. Within Application Designer

    a. Create a new Field named UNI_CAS_AUTH

    b. Create a new Record named UNI_CAS_SIGNON

    i. This record should be Record Type: Derived/Work

    c. Add the new UNI_CAS_AUTH field to this record

    d. Add the PeopleCode function VALIDATE_TICKET() to the FieldDefault

    for the UNI_CAS_AUTH field

    e. Build all objects into PeopleSoft

    2. In PIA (web frontend)

    a. Go to PeopleTools, Security , Security Objects, Signon PeopleCode

    b. Uncheck Enabled and Exec Auth Fail for all recordsc. Add a new l ine to this screen

    i. Sequence: Next available number (7?)

    ii.Enabled: Checked

    iii.Record: UNI_CAS_SIGNON

    iv.Field Name: UNI_CAS_AUTH

    v.Event Name: FieldDefault

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 8/34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    9/34

    PeopleSoft CAS Configuration

    vi.Function Name: VALIDATE_TICKET

    vii.Exec Auth Fail: Checked

    d. Save SignOn PeopleCode3. These changes will require a restart of the Application Server

    Step 3 Install custom HTML filesThese files should be uploaded to the PeopleSoft Web Server

    1. Upload custom signin.html, signin_error.html, expire.html, logout_ps.html files

    to the Web Server

    Replace prtsys, csssys, crmsys with the instance this is being installed on

    a. Enterprise Portal: /

    01/prt01/ps_home/pt850/webserv/peoplesoft/applications/peoplesoft/PO

    RTAL.war/WEB-INF/psftdocs/prtsys

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 9/34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    10/34

    PeopleSoft CAS Configuration

    b. Campus Solut ions: /

    01/css01/ps_home/pt850/webserv/peoplesoft/applications/peoplesoft/PO

    RTAL.war/WEB-INF/psftdocs/csssysc. Customer Relationship Management: /

    01/crm01/ps_home/pt850/webserv/peoplesoft/applications/peoplesoft/P

    ORTAL.war/WEB-INF/psftdocs/crmsys

    2. Within PIA (web fronted)

    a. Go to PeopleTools, Web Profile, Web Profile Configuration

    b. Choose the current Web Profile being used

    c. Look and Feel tab

    i. Signon/Logout Pages

    1. Signon Error Page: signin_error.html

    2. Logout Page: logout_ps.html3. These changes will require a restart of the Web Server

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 10 /34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    11/34

    PeopleSoft CAS Configuration

    Step 4 Web ProfileA default_user User Profile is required to be used within the Web Profile for CAS to

    function properly

    1. Create a new User Profile (PeopleTools, Security, User Profiles, User Profiles)

    a. User ID: default_cas_user

    b. Genera l tab

    i. Account Locked? checked

    ii.Symbolic ID: SYSADM1

    iii.Password: random password

    iv.Confirm Password: random password

    c. ID tab

    i. ID Type: None (must actually select None)

    ii.Description: Default CAS User

    2. Edit Security settings for Web Profile (PeopleTools, Web Profile, Web Profile

    Configuration)

    a. Choose the current Web Profile being used

    b. Securi ty tab

    i. Public Users

    1. Allow Public Access: checked

    2. User ID: default_cas_user

    3. Password: default_cas_users password set in the previous

    step

    4. HTTP Session Inactivity: 03. These changed will require a restart of the Web Server

    Step 5 Configure Single Sign OutUNI has decided to not implemen t single sign out at this time.

    Step 6 User Profile SetupFor CAS to fully function User Profiles must be set up within PeopleSoft to match CAS

    usernames. Without the PeopleSoft User Profiles, users will receive an Authentication

    Error and never be able to get into PeopleSoft via CAS.

    Debugging

    SignOn PeopleCodeWinMessage does not work in SignOn PeopleCode. This is by design.

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 11 /34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    12/34

    PeopleSoft CAS Configuration

    Write to log table

    The easiest and most useful way to debug SignOn PeopleCode is to create a log table

    and write records to the table throughout the execution of the PeopleCode. Anexcerpt of some sample code with debugging is provided below:

    FunctionVALIDATE_TICKET()/* Flag for debugging */

    Local boolean&debug True!

    "#LE$ec(%inert into '_uni_ca_log (created_dttdecr++) ,alue (-date.tartingVALIDATE_TICKET().)%)! "#LE$ec(%C00IT%)!

    tr- /* 1at2 to CA" er,er */ Localtring&ca1at2 %2tt'3//ca4uni4edu/ca/,alidate%!

    /**************** DE5677I87 **********************/ Localboolean&aut29eult :1"Aut29eult! "#LE$ec(%inert into '_uni_ca_log (created_dttdecr++) ,alue(-date.1"Aut29eult(,ar)3 . ;; 3ect to ,alidate tic?et */ &,alidator 7et=a,aCla(%1CaClient%)!

    "#LE$ec(%inert into '_uni_ca_log (created_dttdecr++) ,alue (-date.got >a,acla.)%)! "#LE$ec(%C00IT%)!

    /* 9etrie,e full6rl and tic?et ,alue fro @TT1 reuet */ &full6rl :9euet4Full69I ; %B%; :9euet4#uer-"tring! &tic?et :9euet47et1araeter(%tic?et%)!

    "#LE$ec(%inert into '_uni_ca_log (created_dttdecr++) ,alue (-date.Full6rl3 .;; 3

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    13/34

    PeopleSoft CAS Configuration

    TracePCYou can also trace SignOn PeopleCode by setting the tracePCflag in appserv.cfg but

    the value cannot be arrived at using the settings from the Sign-on page. Set

    tracePC=3596 in appserv.cfg and the trace results will be output to a file. The file

    will be located at in the LOGS directory on the Application Server with a path similar

    to /01/prt01/ps_home/psf t/appserv/PRTSYS/LOGS.

    PeopleCode Debugger

    To debug SignOn PeopleCode by stepping through the PeopleCode you will need to

    login with the same user ID as the one that started the Application Server. Also the

    Invoke As ID on the SignOn PeopleCode page must also be the same ID as inappserv.cfg. This method was not used at UNI.

    Logging from Java ClassYou may also write to a file from within the Ticket Validation Java Class

    (PsCasClient.java). The delivered class comes with a logMessage( ) method to log

    messages to a file found at/01/prt01/ps_home/psft /cas/pscas_signon_log.txt. This

    method can then be called from the SignOn PeopleCode or from within the actual

    class. The delivered class some with a global DEBUG flag that is defaulted to false.

    Set this flag to true, recompile the class, re-install the class file on the app server,restart the app server and the class file will write log messages to the file defined in

    logMessage().

    SignOn PeopleCode

    To call logMessage( ) from the SignOn PeopleCode:

    /* 7et =a,a cla ob>ect to ,alidate tic?et */&,alidator 7et=a,aCla(%1CaClient%)!

    /* 9etrie,e full6rl and tic?et ,alue fro @TT1 reuet */&full6rl :9euet4Full69I ; %B%; :9euet4#uer-"tring!&tic?et :9euet47et1araeter(%tic?et%)!

    &,alidator4log0eage(%9euet3 %; &full6rl)!&,alidator4log0eage(% Tic?et3 %; &tic?et)!

    PsCasClient

    To log messages from within the Ticket Validation Class:

    if (DE567) log0eage(%"er,ice3 % er,ice)!

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 13 /34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    14/34

    PeopleSoft CAS Configuration

    69L u ne 69L(Ca1at2 %Bet2od1"T&tic?et% tic?et %&er,ice% er,ice)!

    if (DE567) log0eage(%Created 69L3 % u)!

    5uffered9eader in ne 5uffered9eader(ne In'ut"trea9eader(u4o'en"trea()))!if (in null) if (DE567) log0eage(%In,alid 69L ued to ,alidate CA"3 % u)! return null!G

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 14 /34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    15/34

    PeopleSoft CAS Configuration

    Server PathsReplace prtsys, csssys, crmsys wi th instance CAS is being installed/configured on

    Enterprise Portal

    App ServerLogs

    /01/prt01/ps_home/psf t/appserv/PRTSYS/LOGS

    Java classes /01/prt01/ps_home/pt850/appserv/classesHTML files /01/prt01/ps_home/pt850/webserv/peoplesoft /applications/peoplesoft /

    PORTAL.war/WEB-INF/psftdocs/prtsysOther HTML

    files(signon.html)

    /

    01/prt01/ps_home/pt850/webserv/peoplesoft/applications/PORTAL.war/prtsys** Note: changing signon.html in this location proved to not make anydifference, therefore all files found in this directory were left asdelivered

    Campus Solutions

    App ServerLogs

    /01/css01/ps_home/psf t/appserv/CSSSYS/LOGS

    Java classes /01/css01/ps_home/pt850/appserv /classesHTML files /01/css01/ps_home/pt850/webserv /peoplesoft/appl icat ions/peoplesoft /

    PORTAL.war/WEB-INF/psftdocs/csssysOther HTMLfiles(signon.html)

    /01/css01/ps_home/pt850/webserv/peoplesoft/applications/PORTAL.war

    /csssys** Note: changing signon.html in this location proved to not make anydifference, therefore all files found in this directory were left asdelivered

    Customer Relationship Managemen t

    App Server

    Logs

    /01/crm01/ps_home/psf t/appserv/CSSSYS/LOGS

    Java classes /01/crm01/ps_home/pt850/appserv/classesHTML files /01/crm01/ps_home/pt850/webserv/peoplesoft /applications/peoplesoft /

    PORTAL.war/WEB-INF/psftdocs/crmsysOther HTMLfiles(signon.html)

    /01/crm01/ps_home/pt850/webserv/peoplesoft/applications/PORTAL.war/crmsys** Note: changing signon.html in this location proved to not make anydifference, therefore all files found in this directory were left as

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 15 /34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    16/34

    PeopleSoft CAS Configuration

    delivered

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 16 /34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    17/34

    PeopleSoft CAS Configuration

    Source Code

    PsCasClient (Ticket Validation Java Class)i'ort co4un4net4l4internal4l41ro,ider!

    i'ort >a,a4io45uffered9eader!i'ort >a,a4io45ufferedHriter!i'ort >a,a4io4FileHriter!i'ort >a,a4io4IE$ce'tion!i'ort >a,a4io4In'ut"trea9eader!

    i'ort >a,a4net469L!i'ort >a,a4net469LEncoder!

    i'ort >a,a4ecurit-4"ecurit-!

    i'ort >a,a4te$t4"i'leDateForat!

    i'ort >a,a4util4Date!

    'ublic cla 1CaClient

    'ri,ate tatic final boolean DE567 fale!

    'ublic 1CaClient() G

    /* 9eturn t2e CatID of t2e oner of t2e gi,en tic?et or null if t2e tic?et in.t ,alid4 *

    * 1araeter3 * full6rl T2e er,ice ID for t2e a''lication ,alidating t2e tic?et including t2e tic?et

    'araeter 2ic2 ut be reo,ed * tic?et t2e o'aue er,ice tic?et ("T) to ,alidate * ca1at2 t2e 'at2 to t2e CA" er,er to be ued to ,alidate t2e gi,en tic?et */ 'ublic tatic "tring ,alidate("tring full6rl "tring tic?et "tring Ca1at2) t2roIE$ce'tion if (DE567) log0eage(%Ca1at23 % Ca1at2)!

    tr- "ecurit-4add1ro,ider(ne 1ro,ider())! "-te4et1ro'ert-(%>a,a4'rotocol42andler4'?g%%co4un4net4l4internal44'rotocol%)! int tic?et1araInde$ full6rl4latInde$f(%&tic?et%)! "tring er,ice null! if (tic?et1araInde$

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    18/34

    PeopleSoft CAS Configuration

    if (DE567) log0eage(%In,alid 69L ued to ,alidate CA"3 % u)! return null! G

    "tring line< in4readLine()! "tring line in4readLine()!

    if (DE567) log0eage(%line

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    19/34

    PeopleSoft CAS Configuration

    * reuet and t2en create a =a,a ob>ect 2ic2 i ued to ,alidate t2e tic?et4* If all goe ell etAut2entication9eult et t2e uer conte$t to t2e* correct uerID4 t2erie 1"Aut29eult reain Fale4

    * * Hritten3 +O/+J/+ect to ,alidate tic?et */ &,alidator 7et=a,aCla(%1CaClient%)!

    /* 9etrie,e full6rl and tic?et ,alue fro @TT1 reuet */

    &full6rl :9euet4Full69I ; %B% ; :9euet4#uer-"tring! &tic?et :9euet47et1araeter(%tic?et%)!

    If (&debug True) T2en &,alidator4log0eage(%9euet3 % ; &full6rl)! &,alidator4log0eage(% Tic?et3 % ; &tic?et)! EndIf!

    If &tic?et QP %% T2en /* @a,e a tic?et load CA" client cla and atte't to ,alidate */ &ca_reult &,alidator4,alidate(&full6rl &tic?et &ca1at2)!

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 19 /34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    20/34

    PeopleSoft CAS Configuration

    If &debug True T2en &,alidator4log0eage(% 9eult3 % ; &ca_reult)! EndIf!

    /* C2ec? if got reult fro CA" (uernae) */ If &ca_reult QP 8ull T2en /* 6er i aut2enticated log t2e into 1eo'le"oft */ "etAut2entication9eult( True &ca_reult %% Fale)! 9eturn! Ele /* 6er could not be ,alidated fro CA" ar? a not logged into 1eo'le"oft */ "etAut2entication9eult( Fale %% %CA" cannot aut2enticate uer4% Fale)! 9eturn! EndIf! /* got uernae bac? fro CA" */ EndIf! /* got tic?et */

    catc2 E$ce'tion &e$ce'0eage Local File &logFile! &logFile 7etFile(%CA"_L7I8_1A94L7% %A% :File1at2_9elati,e)! &logFile4HriteLine(%Error3 % ; &e$ce'0eage4To"tring() ; % % ; :Date ; % % ; :Tie ;

    C2ar(ect to c2ange it2out* notice and i not arranted to be errorfree4 If -ou find an-* error 'leae re'ort t2e to u in riting4** Co'-rig2t (C)

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    21/34

    PeopleSoft CAS Configuration

    a32o,er color3 SJURJC!G

    a3acti,e color3 SJURJC!Gbod- arginleft3 +'$! arginto'3 +'$! arginrig2t3 +'$! arginbotto3 +'$!GPindo42itor-4forard(

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    22/34

    PeopleSoft CAS Configuration

    if (login_error4lengt2 + ;; dico,er-_error4lengt2 + ;; broerc2ec?_error4lengt2 +)

    docuent4getEleent5-Id(.error_ig.)4t-le4di'la- .bloc?.! docuent4getEleent5-Id(.error_lin?.)4focu()! G ele etFocu()! G

    function ca() ,ar docLocne "tring(docuent4location)!

    if (docLoc4inde$f(%&CA"_1"

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    23/34

    PeopleSoft CAS Configuration

    if (docLoc4inde$f(%'rt-%) P +) er,ice1at2 %2tt'3//-'rtfe

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    24/34

    PeopleSoft CAS Configuration

    Qtable idt2%

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    25/34

    PeopleSoft CAS Configuration

    Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%Bcdlogin&a'!languageCdF9A% title%Q:'F9A:P%PFran&ccedil!aiQ/aPQ/tdP Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%B

    cdlogin&a'!languageCdCF9% title%Q:'CF9:P%PFran&ccedil!ai&nb'!du&nb'!CanadaQ/aPQ/tdP Q/trP QtrP Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%Bcdlogin&a'!languageCdITA% title%Q:'ITA:P%PItalianoQ/aPQ/tdP Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%Bcdlogin&a'!languageCd@68% title%Q:'@68:P%P0ag-arQ/aPQ/tdP Q/trP QtrP Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%Bcdlogin&a'!languageCdD6T% title%Q:'D6T:P%P8ederlandQ/aPQ/tdP Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%Bcdlogin&a'!languageCd89% title%Q:'89:P%P8or?Q/aPQ/tdP Q/trP QtrP Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%Bcdlogin&a'!languageCd1L% title%Q:'1L:P%P1ol?iQ/aPQ/tdP

    Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%Bcdlogin&a'!languageCd19% title%Q:'19:P%P1ortugu&ecirc!Q/aPQ/tdP Q/trP QtrP Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%Bcdlogin&a'!languageCdFI8% title%Q:'FI8:P%P"uoiQ/aPQ/tdP Qtd idt2%U+:% cla%'loginte$t%PQa 2ref%Bcdlogin&a'!languageCd"VE% title%Q:'"VE:P%P",en?aQ/aPQ/tdP Q/trP QtrP Qtd idt2%U+:% cla%te$tnoral%PQa 2ref%Bcdlogin&languageCdCZE%PQig rc%Q:'Ct$1at2:PQ:'@oe:P/iage/language_ce4gif%idt2%% 2eig2t%a'anee4gif%idt2%OY% 2eig2t%

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    26/34

    PeopleSoft CAS Configuration

    Q/trP Q/tablePQ/tdP Q/trP

    QtrP Qtd 2eig2t%J+% ,align%iddle% cla%'eagefrae%P Qtable idt2%

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    27/34

    PeopleSoft CAS Configuration

    Q/tdPQtd alignrig2t ,alignto'P

    Qa 2ref%2tt'3//acce4uni4edu/cgi

    bin/'ortal/'ort@andler4cgi% t-le%fontfail-3 Arial 2el,etica anerif! fontie3 R't!fonteig2t3 noral! color3 Sfff! te$talign3 rig2t! 'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$+'$ +'$!te$tdecoration3 none! 'adding3 +'$ +'$ +'$ +'$! argin3 +'$ X'$ +'$ X'$!%onoueo,er%oue,er(t2i)% onoueout%oueut(t2i)%P0-68I,ereQ/aP

    Qfont t-le%fontfail-3 Arial 2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontP

    Qa 2ref%2tt'3//4uni4edu/eail/% t-le%fontfail-3Arial 2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$talign3rig2t! 'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3 +'$+'$ +'$ +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)%onoueout%oueut(t2i)%PE0ailQ/aP

    Qfont t-le%fontfail-3 Arial 2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontP

    Qa 2ref%2tt'3//elearning4uni4edu/% t-le%fontfail-3Arial 2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$talign3rig2t! 'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3 +'$+'$ +'$ +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)%

    onoueout%oueut(t2i)%PeLearningQ/aPQfont t-le%fontfail-3 Arial 2el,etica an

    erif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontPQa 2ref%2tt'3//4uni4edu/info-/iteinde$42tl%

    t-le%fontfail-3 Arial 2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3Sfff! te$talign3 rig2t! 'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3none! 'adding3 +'$ +'$ +'$ +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)%onoueout%oueut(t2i)%PAZ Inde$Q/aP

    Qfont t-le%fontfail-3 Arial 2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontP

    Qa 2ref%/acal/% t-le%fontfail-3 Arial 2el,eticaanerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$talign3 rig2t! 'adding3 4U'$+'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3 +'$ +'$ +'$ +'$! argin3+'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)% onoueout%oueut(t2i)%PCalendarQ/aP

    Qfont t-le%fontfail-3 Arial 2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontP

    Qa 2ref%2tt'3//4uni4edu/director-% t-le%fontfail-3

    Arial 2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$talign3rig2t! 'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3 +'$+'$ +'$ +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)%onoueout%oueut(t2i)%PDirector-Q/aP

    Q/tdPQ/trPQtrP

    Qtd alignrig2t ,alignbottoPQdi, t-le%arginbotto3 '$! arginrig2t3 '$!%P

    Qtable border+ cell'adding+ cell'acing+P Qtr t-le%bac?groundcolor3Sfc+!%P Qtd t-le%bac?groundcolor3Sb

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    28/34

    PeopleSoft CAS Configuration

    Qtd t-le%borderto'3 olid

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    29/34

    PeopleSoft CAS Configuration

    *

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    30/34

    PeopleSoft CAS Configuration

    G

    P

    Q/t-leP

    Qcri't LA876A7E%=a,a"cri't%PQ5rea? out of frae

    if (to'4frae4lengt2+)

    to'4locationelf4docuent4location!

    //P

    Q

    function con,ertTo0inute( eionTieout )

    if (eionTieoutQX+)

    docuent4rite(% Q < %)!

    G ele

    docuent4rite(0at24round(eionTieout / X+))!

    G

    G

    //P

    Q/cri'tP

    Q/@EADP

    Q5DN onload%Q:fraebrea?:P%P

    Q

    P

    Q +/

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    31/34

    PeopleSoft CAS Configuration

    G ele if (docLoc4inde$f(%cdo%) P +)

    er,er8ae %C""D0%!

    G ele if (docLoc4inde$f(%crdo%) P +)

    er,er8ae %C90D0%! G

    G ele if (docLoc4inde$f(%'rttt%) P + ;; docLoc4inde$f(%ctt%) P + ;;

    docLoc4inde$f(%crtt%) P +)

    if (docLoc4inde$f(%'rttt%) P +)

    er,er8ae %19TT"T%!

    G ele if (docLoc4inde$f(%ctt%) P +)

    er,er8ae %C""T"T%!

    G ele if (docLoc4inde$f(%crtt%) P +)

    er,er8ae %C90T"T%!

    G

    G ele if (docLoc4inde$f(%'rt-%) P + ;; docLoc4inde$f(%c-%) P + ;;

    docLoc4inde$f(%cr-%) P +)

    if (docLoc4inde$f(%'rt-%) P +)

    er,er8ae %19T"N"%!

    G ele if (docLoc4inde$f(%c-%) P +)

    er,er8ae %C"""N"%!

    G ele if (docLoc4inde$f(%cr-%) P +)

    er,er8ae %C90"N"%!

    G

    G ele if (docLoc4inde$f(%'rttg%) P + ;; docLoc4inde$f(%ctg%) P + ;;

    docLoc4inde$f(%crtg%) P +)

    if (docLoc4inde$f(%'rttg%) P +)

    er,er8ae %19T"T7%! G ele if (docLoc4inde$f(%ctg%) P +)

    er,er8ae %C"""T7%!

    G ele if (docLoc4inde$f(%crtg%) P +)

    er,er8ae %C90"T7%!

    G

    G ele // Default to 19D (no aterar?)

    er,er8ae %%!

    G

    ,ar iedocuent4all&&na,igator4uerAgent4inde$f(%'era%)ect

    ,ar aterar?_ob>ieB docuent4all4aterar?logo 3 docuent4getEleent5-IdB

    docuent4getEleent5-Id(%aterar?logo%) 3 docuent4aterar?logo

    function inertHater0ar?()

    if (er,er8ae %%)

    if (ie;;docuent4getEleent5-Id)

    aterar?_ob>[email protected] t-le%color3SFF++++! font

    ie3

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    32/34

    PeopleSoft CAS Configuration

    aterar?_ob>4docuent4cloe()

    G

    G

    G

    function beingaterar?()

    inertHater0ar?()

    G

    if (ie;;docuent4getEleent5-Id;;docuent4la-er)

    if (er,er8ae%%)

    indo4onloadbeingaterar?

    G

    Q/cri'tP

    Q

    P

    Q 5egin 'ortal2ead P

    Qtable idt2%ect)

    ob>ect4t-le4te$tDecoration %underline%!ob>ect4t-le4color %Sfc+%!

    G

    function oueut(ob>ect)

    ob>ect4t-le4te$tDecoration.none.!

    ob>ect4t-le4color%Sfff%!

    G

    Q/cri'tP

    Qa 2ref%2tt'3//-uni,ere4uni4edu% t-le%fontfail-3 Arial

    2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$talign3 rig2t!

    'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3 +'$ +'$ +'$

    +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)%

    onoueout%oueut(t2i)%P0-68I,ereQ/aP

    Qfont t-le%fontfail-3 Arial 2el,etica anerif!

    fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontPQa 2ref%2tt'3//4uni4edu/eail/% t-le%fontfail-3 Arial

    2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$talign3 rig2t!

    'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3 +'$ +'$ +'$

    +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)% onoueout%oueut(t2i)%PE

    0ailQ/aP

    Qfont t-le%fontfail-3 Arial 2el,etica anerif!

    fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontP

    Qa 2ref%2tt'3//elearning4uni4edu/% t-le%fontfail-3 Arial

    2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$talign3 rig2t!

    University of Northern Iowa 1227 West 27 thStreet Cedar Falls, IA 50614Chad Wittrock, Systems Analyst ([email protected] )Last Updated: 2/3/11 Page: 32 /34

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    33/34

    PeopleSoft CAS Configuration

    'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3 +'$ +'$ +'$

    +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)%

    onoueout%oueut(t2i)%PeLearningQ/aP

    Qfont t-le%fontfail-3 Arial 2el,etica anerif!fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontP

    Qa 2ref%2tt'3//4uni4edu/info-/iteinde$42tl% t-le%font

    fail-3 Arial 2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$t

    align3 rig2t! 'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3

    +'$ +'$ +'$ +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)%

    onoueout%oueut(t2i)%PAZ Inde$Q/aP

    Qfont t-le%fontfail-3 Arial 2el,etica anerif!

    fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontP

    Qa 2ref%2tt'3//acce4uni4edu/acal/% t-le%fontfail-3 Arial

    2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$talign3 rig2t!

    'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3 +'$ +'$ +'$

    +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)%

    onoueout%oueut(t2i)%PCalendarQ/aP

    Qfont t-le%fontfail-3 Arial 2el,etica anerif!

    fontie3 R't! fonteig2t3 noral! color3 Sfff! te$tdecoration3 none!%P;Q/fontP

    Qa 2ref%2tt'3//4uni4edu/director-% t-le%fontfail-3 Arial

    2el,etica anerif! fontie3 R't! fonteig2t3 noral! color3 Sfff! te$talign3 rig2t!

    'adding3 4U'$ +'$ +'$ +'$! argin3 +'$ +'$ +'$ +'$!te$tdecoration3 none! 'adding3 +'$ +'$ +'$

    +'$! argin3 +'$ X'$ +'$ X'$!% onoueo,er%oue,er(t2i)%

    onoueout%oueut(t2i)%PDirector-Q/aP

    Q/tdP

    Q/trP

    QtrP

    Qtd alignrig2t ,alignbottoP

    Qdi, t-le%arginbotto3 '$! arginrig2t3 '$!%P

    Qtable border+ cell'adding+ cell'acing+P

    Qtr t-le%bac?groundcolor3Sfc+!%P

    Qtd t-le%bac?groundcolor3Sb

  • 7/23/2019 University of Northern Iowa - PeopleSoft CAS Configuration - Public

    34/34

    PeopleSoft CAS Configuration

    Q/tdP

    Q/trP

    Q/tableP

    Q/di,PQ/tdP

    Q/trP

    Q/tableP

    Q End 'ortal2ead P

    Qtable idt2%