Hi Manuel,<div>I have the latest (as far as I know) version of SimbaO2X, 4.3.6.14 and I don&#39;t see anything like that in Excel.</div><div><br></div><div>I have Excel 2007 and I&#39;ve tried with both the available login dialogs - see attached screenshots.</div>

<div><br></div><div>In any case a mechanism handled solely by the container wouldn&#39;t be great for me as it&#39;s very likely that the underlying servlet wouldn&#39;t have access to the security credentials.</div><div>

I want to use them to open an authenticated Olap Connection.</div><div><br></div><div>thanks,</div><div>Michele<br><br><div class="gmail_quote">On 27 April 2011 04:39, Manuel Darveau <span dir="ltr">&lt;<a href="mailto:manueldarveau@gmail.com">manueldarveau@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Michele,<br>
<br>
You might want to take a look at the latest SimbaO2X version since it<br>
does support authentication at the servlet container level. In the<br>
connection dialog, there are username password textfields and a new<br>
checkbox to support cookie and thus, keeping session information. We<br>
just implemented a custom authentication integrated with an embedded<br>
jetty. I can provide some source if you want to. The only drawback<br>
with this approach is that is the user does not check the &quot;cookie<br>
support&quot; (whatever it is actually called), the authentication will be<br>
done on every request so you should implement a cache somehow.<br>
<br>
Since we don&#39;t use security/privileges on dimensions provided by<br>
mondrian, I can&#39;t tell if the logged in user is passed to mondrian.<br>
<br>
I think it would be a good idea to put a how-to on<br>
SimbaO2X/authentication/mondrian somewhere on the wiki.<br>
<font color="#888888"><br>
Manuel<br>
</font><div class="im"><br>
On Wed, Apr 20, 2011 at 4:15 PM, Michele Rossi &lt;<a href="mailto:michele.rossi@gmail.com">michele.rossi@gmail.com</a>&gt; wrote:<br>
</div><div><div></div><div class="h5">&gt; hi,<br>
&gt; at the moment DefaultXmlaServlet simply ignores the XMLA SOAP security<br>
&gt; information.<br>
&gt; If there was ever anything like that in the code before it&#39;s certainly been<br>
&gt; removed now.<br>
&gt; In Excel (with Simba) you can type a username and a password in the dialog<br>
&gt; used to create a connection to an xmla server.<br>
&gt; Simba puts those two strings in a SOAP &quot;Security&quot; header that looks like my<br>
&gt; example below.<br>
&gt; I already have a working &quot;mod&quot; of DefaultXmlaServlet that I have been using<br>
&gt; for a while capable of reading and using that security header.<br>
&gt; Going back to your question about containers: it&#39;s certainly possible to<br>
&gt; protect access to &quot;/xmla&quot; using a standard http authentication mechanisms<br>
&gt; but Simba doesn&#39;t support any of that.<br>
&gt; Also even if Simba supported it the container would certainly not pass the<br>
&gt; authentication information to the XMLA servlet.<br>
&gt; And the biggest deal for me is using the credentials provided in Excel to<br>
&gt; open an authenticated Olap4j connection.<br>
&gt; I will put together a prototype in the next few days, I think it will be<br>
&gt; easier to discuss this with a piece of code to look at.<br>
&gt; thanks,<br>
&gt; Michele<br>
&gt;<br>
&gt; On 20 April 2011 21:19, Julian Hyde &lt;<a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; I&#39;d rather not spend hours researching this. But authentication problems<br>
&gt;&gt; have been solved countless times before in the XMLA server code base.<br>
&gt;&gt; Including authentication from Simba O2X. Can you look over the code and the<br>
&gt;&gt; checkin history and find out how the previous solutions did it.<br>
&gt;&gt;<br>
&gt;&gt; If there is someone on the developers list who has worked on these issues,<br>
&gt;&gt; please speak up now.<br>
&gt;&gt;<br>
&gt;&gt; Julian<br>
&gt;&gt;<br>
&gt;&gt; ________________________________<br>
&gt;&gt; From: Michele Rossi [mailto:<a href="mailto:michele.rossi@gmail.com">michele.rossi@gmail.com</a>]<br>
&gt;&gt; Sent: Wednesday, April 20, 2011 10:52 AM<br>
&gt;&gt; To: &lt;<a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a>&gt;<br>
&gt;&gt; Cc: Mondrian developer mailinglist<br>
&gt;&gt; Subject: Re: xmla security header processing<br>
&gt;&gt;<br>
&gt;&gt; hi,<br>
&gt;&gt; as far as I know Axis is not a container but a library to create SOAP web<br>
&gt;&gt; services.<br>
&gt;&gt; There is nothing a container can do with that security information as it&#39;s<br>
&gt;&gt; not transferred in a standard http way.<br>
&gt;&gt; The username and password that you type in Excel when you create a new<br>
&gt;&gt; SimbaO2x connection are sent to the server in the request header xml element<br>
&gt;&gt; that I copied below.<br>
&gt;&gt; So we either modify the xmla servlet or create an xmla callback with the<br>
&gt;&gt; same features.<br>
&gt;&gt; Do you agree on the general principle that the client (excel) credentials<br>
&gt;&gt; should be used to open the olap4j connection?<br>
&gt;&gt; And that the session id should be used to retrieve existing connections?<br>
&gt;&gt; You certainly can&#39;t delegate any of these two features to the container.<br>
&gt;&gt; thanks!<br>
&gt;&gt; Michele<br>
&gt;&gt;<br>
&gt;&gt; Sent from my iPhone<br>
&gt;&gt; On 20 Apr 2011, at 18:19, &quot;Julian Hyde&quot; &lt;<a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m not an expert on the HTTP/SOAP stuff. But the general goal should be<br>
&gt;&gt; to let the container (e.g. tomcat or apache axis) manage as much of this<br>
&gt;&gt; stuff as possible. Maybe you can see how people have made authentication<br>
&gt;&gt; work elsewhere in the XMLA servlet.<br>
&gt;&gt;<br>
&gt;&gt; Julian<br>
&gt;&gt;<br>
&gt;&gt; ________________________________<br>
&gt;&gt; From: Michele Rossi [mailto:<a href="mailto:michele.rossi@gmail.com">michele.rossi@gmail.com</a>]<br>
&gt;&gt; Sent: Wednesday, April 20, 2011 8:00 AM<br>
&gt;&gt; To: Mondrian developer mailing list<br>
&gt;&gt; Cc: <a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a><br>
&gt;&gt; Subject: xmla security header processing<br>
&gt;&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt; I am writing some code to handle the xmla security header:<br>
&gt;&gt; &lt;Header&gt;<br>
&gt;&gt;                        &lt;Security<br>
&gt;&gt; xmlns=&quot;<a href="http://schemas.xmlsoap.org/ws/2002/04/secext" target="_blank">http://schemas.xmlsoap.org/ws/2002/04/secext</a>&quot;&gt;<br>
&gt;&gt;                            &lt;UsernameToken&gt;<br>
&gt;&gt;                                &lt;Username&gt;MICHELE&lt;/Username&gt;<br>
&gt;&gt;                                &lt;Password<br>
&gt;&gt; Type=&quot;PasswordText&quot;&gt;ROSSI&lt;/Password&gt;<br>
&gt;&gt;                            &lt;/UsernameToken&gt;<br>
&gt;&gt;                        &lt;/Security&gt;<br>
&gt;&gt;                        &lt;BeginSession mustUnderstand=&quot;1&quot;<br>
&gt;&gt; xmlns=&quot;urn:schemas-microsoft-com:xml-analysis&quot; /&gt;<br>
&gt;&gt;                     &lt;/Header&gt;<br>
&gt;&gt; Such header is sent out by XMLA clients such as SimbaO2X (Excel plugin).<br>
&gt;&gt; My idea is to pass user credentials down to the connection manager and use<br>
&gt;&gt; them to create new connections.<br>
&gt;&gt; I also think that connections should be associated with sessions.<br>
&gt;&gt; I am thinking of a Map that associates session IDs with OlapConnection<br>
&gt;&gt; objects.<br>
&gt;&gt; I can put all this logic directly in DefaultXmlaServlet or (probably) in a<br>
&gt;&gt; &quot;XmlaRequestCallback&quot; class.<br>
&gt;&gt; Which option do we want to go for?<br>
&gt;&gt; I also have in mind another more specific bit of functionality: hiding<br>
&gt;&gt; username / password in the session ID returned to the xmla client.<br>
&gt;&gt; This can be useful especially in the case of a server going down and<br>
&gt;&gt; forgetting a particular session id.<br>
&gt;&gt; (Your user leaves Excel open for a couple of days and when he tries to use<br>
&gt;&gt; the Pivot again he gets an error if the server has been bounced in the<br>
&gt;&gt; meantime).<br>
&gt;&gt; The other use case could be http load balancers.<br>
&gt;&gt; As Excel does not send any cookies most load balancers would fail to apply<br>
&gt;&gt; the &quot;sticky session&quot; policy and could redirect different xmla requests to<br>
&gt;&gt; different cluster members.<br>
&gt;&gt; Only one of those members would know about the specified session ID (in<br>
&gt;&gt; other words only one of those servers would have an OlapConnection object<br>
&gt;&gt; stored under the given session id) but the others could re-obtain the<br>
&gt;&gt; credentials by de-crypting the session id.<br>
&gt;&gt; I can make the encrypted session ID very secure - even to &quot;clear text&quot;<br>
&gt;&gt; attacks.<br>
&gt;&gt; I will discuss the details only if we think it&#39;s a feature worth having.<br>
&gt;&gt; Michele<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
</div></div><div><div></div><div class="h5">&gt; _______________________________________________<br>
&gt; Mondrian mailing list<br>
&gt; <a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a><br>
&gt; <a href="http://lists.pentaho.org/mailman/listinfo/mondrian" target="_blank">http://lists.pentaho.org/mailman/listinfo/mondrian</a><br>
&gt;<br>
&gt;<br>
_______________________________________________<br>
Mondrian mailing list<br>
<a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a><br>
<a href="http://lists.pentaho.org/mailman/listinfo/mondrian" target="_blank">http://lists.pentaho.org/mailman/listinfo/mondrian</a><br>
</div></div></blockquote></div><br></div>