Hello, I try to configure SINGLE SIGN-ON for APEX using Kerberos I've followed the guide from Windows Integrated Authentication - HOWTO and this.
Following the first and second instruction, I caught the error http 401 and message in log:
01-Oct-2019 08:51:41.903 FINE [http-nio-8080-exec-2] org.apache.catalina.realm.JAASRealm.authenticate JAAS LoginContext created for username [real_user_name]
01-Oct-2019 08:51:41.903 FINE [http-nio-8080-exec-2] org.apache.catalina.realm.JAASRealm.createPrincipal Checking Principal [HTTP/site_name@domain_name] [javax.security.auth.kerberos.KerberosPrincipal]
01-Oct-2019 08:51:41.903 FINE [http-nio-8080-exec-2] org.apache.catalina.realm.JAASRealm.createPrincipal No valid user Principal found
01-Oct-2019 08:51:41.903 FINE [http-nio-8080-exec-2] org.apache.catalina.realm.JAASRealm.createPrincipal No valid role Principals found.
01-Oct-2019 08:51:41.903 FINE [http-nio-8080-exec-2] org.apache.catalina.realm.JAASRealm.authenticate Username [real_user_name] NOT successfully authenticated
And then i followed the article and tweak the $CATALINA_HOME/conf/Catalina/localhost/apex.xml file by string userClassNames="javax.security.auth.kerberos.KerberosPrincipal":
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Valve className="org.apache.catalina.authenticator.SpnegoAuthenticator"
loginConfigName="APEX"
/>
<Realm className="org.apache.catalina.realm.JAASRealm"
allRolesMode="authOnly"
appName="APEX"
userClassNames="javax.security.auth.kerberos.KerberosPrincipal"
/>
</Context>
After that it's work fine:
01-Oct-2019 10:16:58.973 FINE [http-nio-8080-exec-3] org.apache.catalina.realm.JAASRealm.authenticate JAAS LoginContext created for username [A.Karetnikov]
01-Oct-2019 10:16:58.973 FINE [http-nio-8080-exec-3] org.apache.catalina.realm.JAASRealm.createPrincipal Checking Principal [HTTP/site_name@domain_name] [javax.security.auth.kerberos.KerberosPrincipal]
01-Oct-2019 10:16:58.974 FINE [http-nio-8080-exec-3] org.apache.catalina.realm.JAASRealm.createPrincipal Principal [HTTP/site_name@domain_name] is a valid user class. We will use this as the user Principal.
01-Oct-2019 10:16:58.974 FINE [http-nio-8080-exec-3] org.apache.catalina.realm.JAASRealm.createPrincipal No valid role Principals found.
01-Oct-2019 10:16:58.974 FINE [http-nio-8080-exec-3] org.apache.catalina.realm.JAASRealm.authenticate Username [real_user_name] successfully authenticated as Principal [{1}] -- Subject was created too
\[Krb5LoginModule\]: Entering logout
\[Krb5LoginModule\]: logged out Subject
But in application i see not real user name only KerberosPrincipal name http/mycompany@domain_name

When i configure "autentification scheme" as HTTP Header Variable,if i fill the field HTTP Header Variable Name as "SSO_USER" it doesnt't work, application show message "User not found", if i stay the field HTTP Header Variable Name emty it's work but i don't have real user name, only KerberosPrincipal name http/mycompany@domain_name.


Please specify what am I doing wrong?