Hi guys.
I have installed BO XO 3.1 SP2 on windows 2003 + default tomcat.
And i have a big trouble in configuring AD (+ SSO) for multi domains in diffrenet forests.
A have used a guide Configuring Vintela SSO in Distributed Environments - Complete.pdf
As a result the user in own domain, where BO is installed can login successful, even using SSO, but user from domain from other forest can’t.
Bo gives an error:
Account Information Not Recognized: The Active Directory Authentication plugin could not authenticate at this time. Please try again. If the problem persists, please contact your technical support department. (FWM 00005)
and
in stdout.log
Commit Succeeded
What wrong?
May be it because of i’m loging to BO from a BO-server (in this domain) with the user from other domain like username@OTHER.DOMAIN ???
Thanks
Hi, nicholas
In service principal name field i have BOSSO/Tech_sso_Phn.child.second.domain
kinit test passing good and user from other domain recieve a ticket.
About AD architecture:
We have first.domain and child.first.domain in one forest and
second.domain and child.second.domain in other forest. The trust type between second.domain and first.domain is FOREST and relations is 2-way transitive
Try with BOSSO@child.second.com in the ServicePrincipalName field in CMC > Authentication > Windows AD tab, although this (entering UPN) is not the recommanded way.
Commit Succeeded means that Kerberos is working fine and giving tickets to users from both domains.
Also try logging into Deski/Designer (Client tools) and see if the login is successful.
Bo in second domain.
We have not Duplicate SPN’s
If trying BOSSO@child.second.com variant then error The Active Directory plugin failed to verify the provided SPN. Please ensure the SPN identifies a valid account appear
Logging into Deski gives an error: “[repo_proxy 13] SessionFacade::openSessionLogon with user info has failed(Failure at call to a server Active Directory.(hr=#0x80042909)”
Hummm…Not seen this error message message:
“[repo_proxy 13] SessionFacade::openSessionLogon with user info has failed(Failure at call to a server Active Directory.(hr=#0x80042909)”
Are you sure about users from First domain are able to access Second domain’s resources (Shared Drives\Printers…etc)?
Just wondering if the sufficient right are assigned to Service Account user (BOSSO in your case). Check the Account properties and also Delegation tab in user’s properties.
I used -crypto RC4-HMAC-NT, but i didn’t write this in krb5.ini, is it wrong?
I am working on BO server which is in second domain, but a logged on it through RDP wiht my user at first domain. And i am trying to login in infoview also with my user at first domain.
AT CMC i am able to add AD groups from both domains!
In delegation tab Trust this user for delegation to any services(Kerberos only) is checked
I found a log, when take an option -Dsun.security.krb5.debug=true
The error:
Debug is true storeKey false useTicketCache false useKeyTab false doNotPrompt false ticketCache is null isInitiator true KeyTab is null refreshKrb5Config is false principal is null tryFirstPass is false useFirstPass is false storePass is false clearPass is false
[Krb5LoginModule] user entered username: user@BEE.first.RU
Using builtin default etypes for default_tkt_enctypes
default etypes for default_tkt_enctypes: 3 1 23 16 17.
Acquire TGT using AS Exchange
Using builtin default etypes for default_tkt_enctypes
default etypes for default_tkt_enctypes: 3 1 23 16 17.
KrbAsReq calling createMessage
KrbAsReq in createMessage
KrbKdcReq send: kdc=ms-dcs008.bee.first.ru TCP:88, timeout=30000, number of retries =3, #bytes=164
DEBUG: TCPClient reading 240 bytes
KrbKdcReq send: #bytes read=240
KrbKdcReq send: #bytes read=240
KDCRep: init() encoding tag is 126 req type is 11
KRBError:
sTime is Thu Jun 24 21:17:49 ICT 2010 1277389069000
suSec is 669417
error code is 25
error Message is Additional pre-authentication required
realm is BEE.first.RU
sname is krbtgt/BEE.first.RU
eData provided.
msgType is 30
Pre-Authentication Data:
PA-DATA type = 11
PA-ETYPE-INFO etype = 23
Pre-Authentication Data:
PA-DATA type = 2
PA-ENC-TIMESTAMP
Pre-Authentication Data:
PA-DATA type = 15
AcquireTGT: PREAUTH FAILED/REQUIRED, re-send AS-REQ
Using builtin default etypes for default_tkt_enctypes
default etypes for default_tkt_enctypes: 3 1 23 16 17.
Pre-Authentication: Set preferred etype = 23
KrbAsReq salt is BEE.first.RUuser
Pre-Authenticaton: find key for etype = 23
AS-REQ: Add PA_ENC_TIMESTAMP now
EType: sun.security.krb5.internal.crypto.ArcFourHmacEType
KrbAsReq calling createMessage
KrbAsReq in createMessage
KrbKdcReq send: kdc=ms-dcs008.bee.first.ru TCP:88, timeout=30000, number of retries =3, #bytes=230
DEBUG: TCPClient reading 1628 bytes
KrbKdcReq send: #bytes read=1628
KrbKdcReq send: #bytes read=1628
EType: sun.security.krb5.internal.crypto.ArcFourHmacEType
KrbAsRep cons in KrbAsReq.getReply user
Using builtin default etypes for default_tkt_enctypes
default etypes for default_tkt_enctypes: 3 1 23 16 17.
principal is user@BEE.first.RU
EncryptionKey: keyType=3 keyBytes (hex dump)=0000: B0 49 1A 7F C8 EF D6 57
EncryptionKey: keyType=1 keyBytes (hex dump)=0000: B0 49 1A 7F C8 EF D6 57
EncryptionKey: keyType=23 keyBytes (hex dump)=0000: A1 82 C1 F2 44 BB 33 C7 54 1A DB 51 0F 67 FD 99 …D.3.T…Q.g…
Found ticket for user@BEE.first.RU to go to krbtgt/BEE.first.RU@BEE.first.RU expiring on Fri Jun 25 07:17:49 ICT 2010
Entered Krb5Context.initSecContext with state=STATE_NEW
Found ticket for user@BEE.first.RU to go to krbtgt/BEE.first.RU@BEE.first.RU expiring on Fri Jun 25 07:17:49 ICT 2010
Service ticket not found in the subject
Realm doInitialParse: cRealm=[BEE.first.RU], sRealm=[bee.second.local]
Realm parseCapaths: no cfg entry
Realm parseHierarchy: cRealm has 3 components:
Realm parseHierarchy: cComponents[0]=BEE
Realm parseHierarchy: cComponents[1]=first
Realm parseHierarchy: cComponents[2]=RU
Realm parseHierarchy: sRealm has 3 components:
Realm parseHierarchy: sComponents[0]=bee
Realm parseHierarchy: sComponents[1]=second
Realm parseHierarchy: sComponents[2]=local
Realm parseHierarchy: no common part
Realm parseHierarchy: total links=1
Realm parseHierarchy A: retList[0]=BEE.first.RU
Credentials acquireServiceCreds: main loop: [0] tempService=krbtgt/bee.second.local@BEE.first.RU
Using builtin default etypes for default_tgs_enctypes
default etypes for default_tgs_enctypes: 3 1 23 16 17.
CksumType: sun.security.krb5.internal.crypto.RsaMd5CksumType
EType: sun.security.krb5.internal.crypto.ArcFourHmacEType
KrbKdcReq send: kdc=ms-dcs008.bee.first.ru TCP:88, timeout=30000, number of retries =3, #bytes=1638
DEBUG: TCPClient reading 1573 bytes
KrbKdcReq send: #bytes read=1573
KrbKdcReq send: #bytes read=1573
EType: sun.security.krb5.internal.crypto.ArcFourHmacEType
Credentials acquireServiceCreds: no tgt; searching backwards
Credentials acquireServiceCreds: no tgt; cannot get creds
KrbException: Fail to create credential. (63) - No service creds
at sun.security.krb5.internal.CredentialsUtil.acquireServiceCreds(CredentialsUtil.java:279)
at sun.security.krb5.Credentials.acquireServiceCreds(Credentials.java:561)
at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:585)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:213)
at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:158)
at com.crystaldecisions.sdk.plugin.authentication.secwinad.internal.SecWinADAction.run(SecWinADAction.java:113)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:337)
at com.crystaldecisions.sdk.plugin.authentication.secwinad.internal.SecWinADAuthentication.startKerbLogin(SecWinADAuthentication.java:315)
at com.crystaldecisions.sdk.plugin.authentication.secwinad.internal.SecWinADAuthentication.startLogin(SecWinADAuthentication.java:152)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.doLogon(LogonService.java:337)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:684)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:629)
at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:223)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logonEx(SessionMgr.java:678)
at com.businessobjects.clientaction.shared.logon.LogonUtils.logon(LogonUtils.java:40)
at com.businessobjects.clientaction.shared.logon.LogonAction.logon(LogonAction.java:288)
at com.businessobjects.clientaction.shared.logon.LogonAction.handleLogon(LogonAction.java:295)
at com.businessobjects.clientaction.shared.logon.LogonAction.perform(LogonAction.java:518)
at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1787)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
at com.businessobjects.webutil.struts.CrystalUTF8InputActionServlet.process(CrystalUTF8InputActionServlet.java:32)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.businessobjects.webutil.websessiontimeout.WebSessionTimeoutFilter.doFilter(WebSessionTimeoutFilter.java:161)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595
It seems, that i had configured krb5.ini wrong? but i can’t understand how is correct.
Can sombody help me to configure it to my AD topology:
I have BO in child.forest1.com forest1.com and forest2.com are in 2-way transitive mode.
I want to login users from child.forest2.com!
Nicholas. -Dsun.security.krb5.debug=true jption i found in google)
it realy helps!)
I solve the first trouble - it if logging with user from other domain in designer.
Resolution i found on sap site:
XIR3
Create the following registry String Value:
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\Enterprise\Auth Plugins\secWinAD\UseFQDNForDirectoryServers
Set it’s value to ‘True’ then restart the CMS/SIA for the change to take effect.
But the second error i can’t resolve - it is logging in Infoview with user from other domain.
And what about krb5.ini file? I have other topology:
And if i understand correctly i should take [capath] parameter in krb5.ini ?