Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
akshayjain90
Contributor II
Contributor II

GetWeb ticket using IIS - SSO

Hi Team,

We have requirement where we need to use Windows authentication to get ticket instead of Trusted IP in config file.

We have followed the below settings, but still getting error.

PFB -

Settings -

QlikView needs to trust the code asking for the ticket.  There is a web page within the QlikView web server called GetWebTicket.aspx which handles requests for tickets, this will only return a ticket to a trusted user/process and this is identified using one of two options

  • Option 1 – use windows permissions
    • The code or process asking for a ticket needs to run as or provide a windows user identity. The user ID must be a member of the QlikView Administrators windows group on the QlikView server.
    • As the GetWebTicket page runs under the QVAJAXZFC directory on the web server and one of the above steps made the directory work with Anonymous users – for this page only – enable windows authentication in IIS
    • Now the Login page must authenticate itself when requesting a ticket as a windows user and that user must be a QlikView Administrator. In the attached example the login is hardcoded, however this could be configured in other ways

Error -

WARNING: NEGOTIATE authentication error: No valid credentials provided (Mechanism level: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt))

org.apache.http.client.HttpResponseException: Internal Server Error

at org.apache.http.impl.client.AbstractResponseHandler.handleResponse(AbstractResponseHandler.java:69)

at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:65)

at connectToQlik.getTicket(connectToQlik.java:134)

at connectToQlik.testIt(connectToQlik.java:59)

at connectToQlik.main(connectToQlik.java:40)

I have provide windows credentials also the user is present in Administrator and QlikView Management API group.

Can anyone help me on the same.

Regards,

Akshay

4 Replies
akshayjain90
Contributor II
Contributor II
Author

Hi All,

Can anyone help me on the above request.

Regards,

Akshay

Anonymous
Not applicable

hi akshay,

          are you passing administrator credentials while hitting httprequest in webticket page

you need to pass request.networkcredentials as administrator credentials this will be default credential for every login user.

akshayjain90
Contributor II
Contributor II
Author

Hi Narasimha,

Thanks for your reply.

I am passing Windows user credential , which is QlikAdmin User also.

Can you please explain more on this - "you need to pass request.networkcredentials as administrator credentials this will be default credential for every login user."

Regards,

Akshay

Anonymous
Not applicable

Here ticketinguser, ticketingpassword are admin userid and password (windows credentials)

HttpWebRequest client = (HttpWebRequest)WebRequest.Create(new Uri(QlikViewServerURL));

            client.PreAuthenticate = true;

            client.Method = "POST";

            client.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

            client.Credentials = new NetworkCredential(ticketinguser, ticketingpassword);

            using (StreamWriter sw = new StreamWriter(client.GetRequestStream()))

                sw.WriteLine(webTicketXml);

            StreamReader sr = new StreamReader(client.GetResponse().GetResponseStream());

            string result = sr.ReadToEnd();

            XDocument doc = XDocument.Parse(result);

            return doc.Root.Element("_retval_").Value;