For the Question Number One :
Answer:
Your Understanding is correct
For the Question Number Two :
Answer:
I couldn't understand your question
For the Question Number Three:
Answer is :
Normally the insecure login request URL will be like
http://sh-ip:8000/account/insecurelogin?username= &password= &return_to=
Yes Splunk will create a new session for every request sent to the URL "/account/insecurelogin?"
But, you can avoid that by identifying the difference between the first (successfull) request and further request..
If you manage to identify that , you can send "/account/insecurelogin?" until you create a session and after creating a session just sending the direct dashboard link will return you the corresponding page.. (Internally for the second request you browser will attach the success full session cookies and let the splunk remember that session.. )
How to identify a successfull login.........
1. On successful loading of any dashboard inside iframe.. you can update a variable of parent window javascript variable(e.g : window.top.isSplunkLoded = true;)...
2. Next time before populating iFrame URL you can check isSplunkLoded and populate just dashboard link without "/account/insecurelogin?" link
3. You can write your code to populate isSplunkLoded either in application.js or in template HTMLs if you are uisng anything.. Just Make sure that script runs when you splunk [age loaded successfully...
The challenge is,
You cannot access parent window properties from the script inside iframe.. Since your UI and Splunk are different domain...
You have to make both as a same domain....
1. You can have a comman proxy server that redirects to UI and SPlunk SH based on URL pattern. and expoes that server to the user..
2. Set a common base URL for your UI and redirect user to UI when you get that URL pattern
3. Splunk's URL will follow some common patterns like /splunkApp , /en-, /insecurelogin..... Redirect these items to splunk
4. Just give relative path in iframe "/account/insecurelogin?username= &password= &return_to= "
Check for httpd.conf configuration to create proxy server and redirection
... View more