Getting User Context in Silverlight 2

I recently completed work on an internal Silverlight app.    The project was a blast – it really reminded me of how coding could be fun again.   One of the surprising gaps I found in Sliverlight was the inability to get the current user context (e.g. determine the login domain and userid of the person viewing the page).    I checked with the product team and they confirmed that this is not (yet?) a feature of Silverlight.   While this feature may be provided at a later date, I needed it now.   I was able to develop a workaround using ASP.NET’s LOGON_USER server variable using the following:


String userName = Request.ServerVariables["LOGON_USER"];

UID.Value = userName;


    <form id="form1" runat="server" style="height:100%;">

        <input type="hidden" name="userContext" id="UID" runat="server" />

        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>


            <table border="0">



                        <td width="10"></td>

                        <td width="auto">

                            <div id="silverlightControlHost">

                                <script type="text/javascript">

                                        document.write ("<object data=\"data:application/x-silverlight,\" type=\"application/x-silverlight-2-b1\" width=\"1150px\" height=\"810px\">");

                                        document.write ("<param name=\"source\" value=\"ClientBin/MyApp.xap\"/> ");

                                        document.write ("<param name=\"background\" value=\"white\" />");

                                        document.write ("<param name=\"onerror\" value=\"onSilverlightError\" />");

                                        document.write("<param name=\"initParams\" value=\"userID=" + form1.UID.value + "\"");





                        <td width="10"></td>






It ain’t pretty but it works.  :)