Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

System administrators can implement database authentication manually, using a separate database to the JobScheduler(s) and, if required, a separate DBMSthe tables stored in the reporting database.

The JOC Cockpit configuration required to use database authentication is described in this section along with an example set of database tables. System administrators have to configure and maintain the database and tables manually as well as their query strings - there is neither a GUI available for this nor is batch support provided. The user management in the JOC Cockpit can not be used, when users and roles are stored in the database.

The [users] and [roles] sections of the shiro.ini file can be deleted or completely commented out when database authentication is to be used. Please note that until 1.13.4 there must be empty sections for users and roles.

The information required in the [main] section for database authentication is shown in the following listing:

Hibernate is used to access the database - in the example listed above an Oracle database is specified. System administrators must organize the necessary configuration information to address the database to be used to store authentication information themselves. 

It should only be necessary for system administrators to modify two parts of this section of the shiro.ini file:

  • the location of the Hibernate configuration file in line 3 of the listing,
  • the default timeout setting, which is in the example is 15 minutes (specified in milliseconds as shown).
Code Block
languagetext
titleMain Configuration - Database Authentification - Example Configuration
linenumberstrue
[users]
[roles]
[main]
hibernateRealm = com.sos.auth.shiro.SOSHibernateAuthorizingRealm
 
Code Block
languagetext
titleMain Configuration - Database Authentification - Example Configuration
linenumberstrue
[main]
hibernateRealm = com.sos.dialog.auth.SOSHibernateAuthorizingRealm
hibernateRealm.hibernateConfigurationFile=C:\Users\userName\Documents\sos-berlin.com\jobscheduler\scheduler_current\config\hibernate.cfg.oracle.xml

securityManager.realms = $hibernateRealm
cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $cacheManager 
securityManager.sessionManager.globalSessionTimeout = 900000 

Hibernate is used to access the database - in the example listed above an Oracle database is specified. System administrators must organize the necessary configuration information to address the database to be used to store authentication information themselves. 

It should only be necessary for system administrators to modify two parts of this section of the shiro.ini file:

...

$cacheManager
securityManager.sessionManager.globalSessionTimeout = 900000

Maintenance and Security Considerations

...

The following table names and structure have to be used when configuring database authentication:

Table of User Names and Passwords (SOS_USER) - Structure


COLUMN_NAMEDATA_TYPENULLABLEDATA_DEFAULTCOLUMN_IDCOMMENTS
1IDNUMBER(9,0)No(null)1(null)
2SOS_USER_NAMEVARCHAR2(250 BYTE)Yes(null)2(null)
3SOS_USER_PASSWORDVARCHAR2(250 BYTE)Yes(null)3(null)


Table of User Names and Passwords (SOS_USER) - Contents

The password is stored MD5 encrypted. E.g. secret is 5ebe2294ecd0e0f08eab7690d2a6ee69


IDSOS_USER_NAMESOS_USER_PASSWORD
11administrator

...

5ebe2294ecd0e0f08eab7690d2a6ee69
22application_manager

...

5ebe2294ecd0e0f08eab7690d2a6ee69
33it_operator

...

5ebe2294ecd0e0f08eab7690d2a6ee69
44incident_manager

...

5ebe2294ecd0e0f08eab7690d2a6ee69
55business_user

...

5ebe2294ecd0e0f08eab7690d2a6ee69
66api_user

...

5ebe2294ecd0e0f08eab7690d2a6ee69
77root63a9f0ea7bb98050796b649e85481845



Table of Roles (SOS_USER_ROLE) - Structure

...

COLUMN_NAMEDATA_TYPENULLABLEDATA_DEFAULT
IDNUMBER(9,0)No(null)
SOS_USER_ROLE

...

VARCHAR2(250 BYTE)Yes(null)



Table mapping users to roles

COLUMN_NAMEDATA_TYPENULLABLEDATA_DEFAULT

...

ID

...

NUMBER(9,0)No(null)
ROLE_IDNUMBER(9,0)

...

Yes(null)

...

USER_

...

ID

...

NUMBER(9,0)Yes

...

...

(null)


Table of Roles (SOS_USER_ROLE) - Contents

IDSOS_USER_ROLE
1administrator
2application_manager
3it_operator
4incident_manager
5business_user
6api_user
7all



Table Mapping

...

users and roles to Permissions (SOS_USER_PERMISSION) - Structure

COLUMN_NAMEDATA_TYPENULLABLEDATA_DEFAULT

...

ID

...

NUMBER(9,0)No

...

(null)
ROLE_IDNUMBER(9,0)Yes(null)

...

...

USER_IDNUMBER(9,0)Yes(null)

...

SOS_USER_

...

PERMISSIONVARCHAR2(250 BYTE)Yes

...

(null)


Table Mapping Roles to Permissions (SOS_USER_PERMISSION) - Contents

IDROLE_IDUSER_IDSOS_USER_PERMISSION
117(null)
221(null)
31(null)sos:products
42(null)sos:products:joc_cockpit:jobscheduler_master:view
52(null)sos:products:joc_cockpit:jobscheduler_master:pause
62(null)sos:products:joc_cockpit:jobscheduler_master:continue
72(null)sos:products:joc_cockpit:jobscheduler_master:restart
82(null)sos:products:joc_cockpit:jobscheduler_master:terminate
92(null)sos:products:joc_cockpit:jobscheduler_master:abort
102(null)sos:products:joc_cockpit:jobscheduler_master_cluster
112(null)sos:products:joc_cockpit:jobscheduler_universal_agent

Shown are the default permissions for user root (ID=7) mapped to role all (ID=1) and user administrator (ID=1) mapped to role administrator (ID=2).

[folders] Configuration

Display feature availability
StartingFromRelease1.11.2

...