Wednesday, 11 February 2026

Authorization Error - Contact Your Security Administrator Error

 One of the reasons for this error is Missing proper Web Library (WEBLIB) Security access.

The PeopleSoft delivered "PeopleSoft User" (PTPT1000) Permission list is delivered with the correct access given to these web libraries. If the PTPT1000 permission list has been cloned or a custom permission list is being used to grant web library access, then the needed web libraries must be manually added to the cloned permission list.

Make sure that all the users have FULL access to the following Web libraries:


WEBLIB_PORTAL

WEBLIB_PT_NAV

WEBLIB_PTPP_SC 

WEBLIB_PTPPB

WEBLIB_PTPPB1

WEBLIB_PTRC 

WEBLIB_TIMEOUT

WEBLIB_PTIFRAME 

WEBLIB_UAD_NAV 

WEBLIB_PTBR 

WEBLIB_PTPN 

WEBLIB_PTNUI


If issue is not resolved by assigning the required Web Libraries. One need to execute the following queries to find and delete the orphan data.

 Validates Security Table Integrity

Authorization error can happen if these tables are inconsistent:

  • PSROLEUSER

  • PSROLECLASS

  • PSCLASSDEFN

  • PSAUTHITEM

  • PSMENUDEFN

  • PSCOMPDEFN

  • PSPRSMDEFN



Role references a Permission List that does not exist:

select * FROM PSROLECLASS WHERE CLASSID not in (SELECT CLASSID FROM PSCLASSDEFN)

delete FROM PSROLECLASS WHERE CLASSID not in (SELECT CLASSID FROM PSCLASSDEFN)

PSROLEUSER references a User that does not exist in PSOPRDEFN

Select * from PSROLEUSER WHERE ROLEUSER NOT IN (SELECT OPRID FROM PSOPRDEFN)

DELETE from PSROLEUSER WHERE ROLEUSER NOT IN (SELECT OPRID FROM PSOPRDEFN)


PSROLECLASS references a Role that does not exist in PSROLEDEFN

SELECT * FROM PSROLECLASS WHERE ROLENAME NOT IN (SELECT ROLENAME FROM PSROLEDEFN)

DELETE FROM PSROLECLASS WHERE ROLENAME NOT IN (SELECT ROLENAME FROM PSROLEDEFN)

User named in a User-Role relationship does not exist in the User Definition table:

SELECT * FROM PSROLEUSER WHERE ROLEUSER NOT IN (SELECT OPRID FROM PSOPRDEFN)

UPDATE PSOPRDEFN  SET OPRCLASS = ' ' WHERE OPRCLASS <> ' ' AND

OPRCLASS NOT IN (SELECT CLASSID FROM PSCLASSDEFN B WHERE B.CLASSID = PSOPRDEFN.OPRCLASS)

Role named in a Role-Permission List relationship does not exist in the Role Definition table:

DELETE FROM PSROLECLASS WHERE ROLENAME not in (SELECT ROLENAME FROM PSROLEDEFN)

Invalid entries in the PSAUTHITEM table:

DELETE FROM PSAUTHITEM

WHERE

(    PSAUTHITEM.MENUNAME NOT LIKE 'WEBLIB_%'

    AND PSAUTHITEM.MENUNAME NOT IN

        ('CLIENTPROCESS',

         'DATA_MOVER',

         'IMPORT_MANAGER',

         'OBJECT_SECURITY',

         'QUERY',

         'PERFMONPPMI')

    AND PSAUTHITEM.MENUNAME NOT LIKE 'APPLICATION_DESIGNER%'

    AND PSAUTHITEM.MENUNAME <> 'REN'

    AND NOT EXISTS

    (        SELECT 'X'

        FROM PSMENUITEM MI

        WHERE PSAUTHITEM.MENUNAME   = MI.MENUNAME

          AND PSAUTHITEM.BARNAME    = MI.BARNAME

          AND PSAUTHITEM.BARITEMNAME = MI.ITEMNAME

          AND

          (   MI.ITEMTYPE IN (0,1,2,3,4,6,7,8,10,11)


              OR (MI.ITEMTYPE = 5

                  AND EXISTS

                  (

                      SELECT 'X'

                      FROM PSPNLGRPDEFN GD,

                           PSPNLGROUP GI

                      WHERE MI.PNLGRPNAME = GD.PNLGRPNAME

                        AND MI.MARKET     = GD.MARKET

                        AND GD.PNLGRPNAME = GI.PNLGRPNAME

                        AND GD.MARKET     = GI.MARKET

                        AND PSAUTHITEM.PNLITEMNAME = GI.ITEMNAME

                  )

                 )


              OR (MI.ITEMTYPE = 9

                  AND EXISTS

                  (

                      SELECT 'X'

                      FROM PSPCMNAME PCN,

                           PSPCMPROG PCP

                      WHERE PCN.OBJECTID1 = 3

                        AND PCN.OBJECTVALUE1 = MI.MENUNAME

                        AND PCN.OBJECTID2 = 4

                        AND PCN.OBJECTVALUE2 = MI.BARNAME

                        AND PCN.OBJECTID3 = 5

                        AND PCN.OBJECTVALUE3 = MI.ITEMNAME

                        AND PCN.OBJECTID4 = 12

                        AND PCN.OBJECTVALUE4 = 'ItemSelected'

                        AND PCN.OBJECTID1 = PCP.OBJECTID1

                        AND PCN.OBJECTVALUE1 = PCP.OBJECTVALUE1

                        AND PCN.OBJECTID2 = PCP.OBJECTID2

                        AND PCN.OBJECTVALUE2 = PCP.OBJECTVALUE2

                        AND PCN.OBJECTID3 = PCP.OBJECTID3

                        AND PCN.OBJECTVALUE3 = PCP.OBJECTVALUE3

                        AND PCN.OBJECTID4 = PCP.OBJECTID4

                        AND PCN.OBJECTVALUE4 = PCP.OBJECTVALUE4

                  )

                 )


              OR (MI.ITEMTYPE = 12

                  AND EXISTS

                  (

                      SELECT 'X'

                      FROM PSXFERITEM XI

                      WHERE MI.MENUNAME = XI.MENUNAME

                        AND MI.ITEMNAME = XI.ITEMNAME

                  )

                 )

          )

    )

)


OR

(

    PSAUTHITEM.MENUNAME LIKE 'WEBLIB_%'

    AND NOT EXISTS

    (

        SELECT 'X'

        FROM PSPCMPROG PCP

        WHERE PCP.OBJECTID1 = 1

          AND PCP.OBJECTVALUE1 = PSAUTHITEM.MENUNAME

          AND PCP.OBJECTID2 = 2

          AND PCP.OBJECTVALUE2 = PSAUTHITEM.BARNAME

    )

)


OR

(

    PSAUTHITEM.MENUNAME IN

        ('CLIENTPROCESS',

         'DATA_MOVER',

         'IMPORT_MANAGER',

         'OBJECT_SECURITY',

         'QUERY',

         'PERFMONPPMI')

    AND

    (

        PSAUTHITEM.BARNAME     <> ' '

        OR PSAUTHITEM.BARITEMNAME <> ' '

        OR PSAUTHITEM.PNLITEMNAME <> ' '

    )

)


OR

(

    PSAUTHITEM.MENUNAME LIKE 'APPLICATION_DESIGNER%'

    AND

    (

        (PSAUTHITEM.BARNAME <> ' '

         AND PSAUTHITEM.BARNAME NOT IN

             (

                 SELECT OBJNAME

                 FROM PS_APP_DES_OBJECTS

                 WHERE PSAUTHITEM.BARNAME = OBJNAME

             )

        )

        OR PSAUTHITEM.BARITEMNAME <> ' '

        OR PSAUTHITEM.PNLITEMNAME <> ' '

    )

)


OR

(

    PSAUTHITEM.MENUNAME = 'REN'

    AND

    (

        (PSAUTHITEM.BARNAME <> ' '

         AND PSAUTHITEM.BARNAME NOT IN

             (

                 SELECT OBJNAME

                 FROM PS_APP_DES_OBJECTS

                 WHERE PSAUTHITEM.BARNAME = OBJNAME

             )

        )

        OR PSAUTHITEM.BARITEMNAME <> ' '

        OR PSAUTHITEM.PNLITEMNAME <> ' '

    )

);



UPDATE PSOPRDEFN  SET ROWSECCLASS = ' ' WHERE ROWSECCLASS <> ' '
AND ROWSECCLASS NOT in (SELECT CLASSID FROM PSCLASSDEFN B
WHERE B.CLASSID = PSOPRDEFN.ROWSECCLASS)

 delete from psoprdefn where oprid not in (select oprid from PS_ROLEXLATOPR);

 Role User table (ROLEXLATOPR) gets populated when new User Profiles (entries in PSOPRDEFN) 

DELETE FROM PS_ROLEXLATOPR WHERE OPRID not in (SELECT OPRID FROM PSOPRDEFN B)





No comments:

Post a Comment