<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ADFS Product Support Blog</title><link>http://blogs.technet.com/b/adfs/</link><description /><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Office Integration with MOSS and ADFS</title><link>http://blogs.technet.com/b/adfs/archive/2009/06/16/office-integration-with-moss-and-adfs.aspx</link><pubDate>Tue, 16 Jun 2009 20:39:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3255588</guid><dc:creator>jimsim</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=3255588</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2009/06/16/office-integration-with-moss-and-adfs.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Previously, Office Integration with SharePoint secured by forms based authentication was not possible.&amp;nbsp; The new ability of the Office client applications in Office 2007 SP2 to perform a forms login helps to solve this problem.&amp;nbsp; You will need to install &lt;A href="http://support.microsoft.com/kb/970230/" mce_href="http://support.microsoft.com/kb/970230/ "&gt;this post SP2&lt;/A&gt; fix to your client machines to gain this functionality.&amp;nbsp; What is needed in conjunction with it, is means to send an authentication prompt to the Office client if the login cookie doesn’t exist or has expired.&amp;nbsp; The Identity Management team at Microsoft, in conjunction with the Microsoft Office team, have developed an HttpModule for SharePoint that does just that.&amp;nbsp; The HttpModule is available as a source code sample download from this blog.&lt;/SPAN&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;You will need to compile the source to a DLL and then install it to the GAC on the SharePoint front end servers.&lt;/SPAN&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;To compile you will need &amp;nbsp;Microsoft Visual C# 2008 edition .&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;You can download Microsoft Visual C# 2008 Express edition from &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Times New Roman','serif'; LETTER-SPACING: -0.25pt; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;A href="http://www.microsoft.com/express/download/#webInstall" mce_href="http://www.microsoft.com/express/download/#webInstall"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: blue"&gt;http://www.microsoft.com/express/download/#webInstall&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 11.25pt 0in 11.25pt 1in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;a.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Extract the code sample locally for example c:\Patch&lt;/SPAN&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 11.25pt 0in 11.25pt 1in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;b.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Open Microsoft Visual C# 2008 &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 11.25pt 0in 11.25pt 1in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;c.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From the menu options select File / Open Project and browse to &amp;nbsp;the file c:\Patch\retail\AdfsHttpModule.sln&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 11.25pt 0in 11.25pt 1in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;d.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next, select build from the menu options&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 11.25pt 0in 11.25pt 1in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;e.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; When prompted for password type “password”&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 11.25pt 0in 11.25pt 1in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;f.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The default location of the built DLL &amp;nbsp;c:\Patch\release\release\bin&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;To install the compiled DLL to the GAC use the GACUTIL application.&amp;nbsp; GACUTIL can be obtained by installing the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; COLOR: #1f497d; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;.&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fe6f2099-b7b4-4f47-a244-c96d69c35dec&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fe6f2099-b7b4-4f47-a244-c96d69c35dec&amp;amp;DisplayLang=en"&gt;&lt;SPAN style="COLOR: blue"&gt;NET Framework 2.0 SDK&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;The command to install it would be:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;“GACUTIL /i adfsfba.dll”&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;Next - make the following changes to SharePoint:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="LETTER-SPACING: -0.25pt; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 11.25pt 21.75pt; mso-list: l0 level1 lfo1; tab-stops: list .5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Verdana; mso-bidi-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Go to Central Administration, click the &lt;B&gt;Application Management&lt;/B&gt; tab, and click the &lt;B&gt;Authentication Providers&lt;/B&gt; link.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 11.25pt 21.75pt; mso-list: l0 level1 lfo1; tab-stops: list .5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Verdana; mso-bidi-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;In the &lt;B&gt;Web Applications&lt;/B&gt; drop–down list, select the Web application that contains a forms authentication zone, and then click the link for the zone that is configured to use forms authentication.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 11.25pt 21.75pt; mso-list: l0 level1 lfo1; tab-stops: list .5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Verdana; mso-bidi-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;3.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;On the Settings page for the zone, select the &lt;B&gt;Enable anonymous access&lt;/B&gt; check box, and then set &lt;B&gt;Enable Client Integration?&lt;/B&gt; to Yes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;
&lt;TABLE style="MARGIN: auto auto auto 0.25in; WIDTH: 100%; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #efeff7; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-bottom-alt: solid #C8CDDE .75pt"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"&gt;&lt;/v:path&gt;&lt;o:lock v:ext="edit" aspectratio="t"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape style="WIDTH: 7.8pt; HEIGHT: 7.8pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_8 type="#_x0000_t75" o:spid="_x0000_i1028"&gt;&lt;v:imagedata src="file:///C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif" o:title="note"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Note: &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: white 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #f7f7ff; BORDER-TOP: white 1pt solid; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-bottom-alt: solid white .75pt; mso-border-top-alt: solid white .75pt"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Selecting the &lt;B&gt;Enable anonymous access&lt;/B&gt; check box does not, by itself, grant anonymous access to any content in the Web application. However, it is needed to enable the Office client applications to gather enough information about the site to display the logon window. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #f0f0f0; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BORDER-TOP: white 1pt solid; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-top-alt: solid white .75pt"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 11.25pt 21.75pt; mso-list: l1 level1 lfo2; tab-stops: list .5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Verdana; mso-bidi-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;4.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Edit the web.config file as follows on each front end Web server in the farm for the zone that is secured with ADFS:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 12pt 39.75pt; mso-list: l1 level2 lfo3; mso-margin-top-alt: auto" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Verdana; mso-bidi-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;a.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Add the entry for the HttpModule code sample after the ADFS module. You should see an existing entry such as the following.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;
&lt;TABLE style="MARGIN: auto auto auto 0.5in; WIDTH: 100%; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #efeff7; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-bottom-alt: solid #C8CDDE .75pt"&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 3.75pt" class=MsoNormal align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Xml&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #efeff7; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-bottom-alt: solid #C8CDDE .75pt"&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 3.75pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 11.4pt; HEIGHT: 11.4pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_15 type="#_x0000_t75" o:spid="_x0000_i1027"&gt;&lt;v:imagedata src="file:///C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image002.gif" o:title="copycode"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Copy Code&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #f0f0f0; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #f7f7ff; BORDER-TOP: white 1pt solid; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 3.75pt; mso-border-top-alt: solid white .75pt" colSpan=2&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;lt;add &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;name="Identity Federation Services Application Authentication Module" &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 12pt 39.75pt; mso-list: l1 level2 lfo3; mso-margin-top-alt: auto" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Verdana; mso-bidi-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;b.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Add the following entry immediately after the existing entry.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;
&lt;TABLE style="MARGIN: auto auto auto 0.5in; WIDTH: 100%; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #efeff7; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-bottom-alt: solid #C8CDDE .75pt"&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 3.75pt" class=MsoNormal align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Xml&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #efeff7; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-bottom-alt: solid #C8CDDE .75pt"&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 3.75pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 11.4pt; HEIGHT: 11.4pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_16 type="#_x0000_t75" o:spid="_x0000_i1026"&gt;&lt;v:imagedata src="file:///C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image002.gif" o:title="copycode"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Copy Code&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #f0f0f0; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #f7f7ff; BORDER-TOP: white 1pt solid; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 3.75pt; mso-border-top-alt: solid white .75pt" colSpan=2&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;lt;add &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;name="ADFS Module for Office Forms Based Auth" &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;type="ADFSFBA.ADFSFBAHttpModule,ADFSFBA,Version=1.0.0.0,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;Culture=neutral,PublicKeyToken=083ff59054782422,Custom=null" &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 14pt; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -0.25in; MARGIN: 0in 0in 12pt 39.75pt; mso-list: l1 level2 lfo3; mso-margin-top-alt: auto" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: Verdana; mso-bidi-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;c.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Add the &lt;B&gt;usettp&lt;/B&gt; element in the &lt;B&gt;websso&lt;/B&gt; section, as follows.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 11.25pt 0in; VERTICAL-ALIGN: top" class=MsoNormal&gt;
&lt;TABLE style="MARGIN: auto auto auto 0.5in; WIDTH: 100%; mso-cellspacing: 0in; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #efeff7; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-bottom-alt: solid #C8CDDE .75pt"&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 3.75pt" class=MsoNormal align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Xml&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #efeff7; BORDER-TOP: #f0f0f0; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 0in; mso-border-bottom-alt: solid #C8CDDE .75pt"&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 3.75pt" class=MsoNormal align=center&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 11.4pt; HEIGHT: 11.4pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_17 type="#_x0000_t75" o:spid="_x0000_i1025"&gt;&lt;v:imagedata src="file:///C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image002.gif" o:title="copycode"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Copy Code&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 13.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #f0f0f0; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #f7f7ff; BORDER-TOP: white 1pt solid; BORDER-RIGHT: #f0f0f0; PADDING-TOP: 3.75pt; mso-border-top-alt: solid white .75pt" colSpan=2&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;lt;websso&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;…&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;usettp enabled="false"/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;…&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #000066; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;lt;/websso&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;After you complete these steps, you can use the Office client in a nearly seamless, integrated experience with SharePoint Server. The authentication prompts for an ADFS-secured site can be further reduced by adding the site for the account logon service (FS-A) to the Local Intranet Zone in Internet Explorer.&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3255588" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-25-55-88/release.zip" length="31669" type="application/x-zip-compressed" /></item><item><title>ADFSDiag has been updated again!</title><link>http://blogs.technet.com/b/adfs/archive/2008/12/11/adfsdiag-has-been-updated-again.aspx</link><pubDate>Thu, 11 Dec 2008 20:16:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3167111</guid><dc:creator>jimsim</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=3167111</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2008/12/11/adfsdiag-has-been-updated-again.aspx#comments</comments><description>&lt;P&gt;The updated tool can be found &lt;A class="" href="http://blogs.technet.com/adfs/archive/2007/11/01/adfs-diagnostic-tool.aspx" mce_href="http://blogs.technet.com/adfs/archive/2007/11/01/adfs-diagnostic-tool.aspx"&gt;here&lt;/A&gt;.&amp;nbsp; The attachment contains both 32 and 64 bit installers.&lt;/P&gt;
&lt;P&gt;A cool new feature - Claim Flow Analysis has been added to this version.&amp;nbsp; I'll write up a quick blog on how to use this feature soon.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3167111" width="1" height="1"&gt;</description></item><item><title>Adding an ADFS Proxy Server</title><link>http://blogs.technet.com/b/adfs/archive/2008/06/10/adding-an-adfs-proxy-server.aspx</link><pubDate>Tue, 10 Jun 2008 19:05:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3069057</guid><dc:creator>jimsim</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=3069057</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2008/06/10/adding-an-adfs-proxy-server.aspx#comments</comments><description>&lt;P&gt;I'm going on an hour trying to get the screen shots formatted correctly.&amp;nbsp; Live Writer is making them too small.&amp;nbsp; I'll just attach the word document to the end if you want to see the pictures better.&amp;nbsp; I'm done messing around with this for now!&amp;nbsp; If you know what I'm doing wrong - please send me a comment!&lt;/P&gt;
&lt;P&gt;In this blog, I will discuss the steps needed to add an ADFS Proxy to your environment. I will also outline a couple of gotchas that I ran into along the way.&lt;/P&gt;
&lt;P&gt;First, we will start with the certificates…&lt;B&gt;We need an SSL certificate on the default web site that has a subject name which matches the Federation Server URL&lt;/B&gt;. Since I am adding a proxy on the Account side, I need a SSL certificate with adfsaccount.adatum.com &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image002_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=197 alt=clip_image002 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image002_thumb.jpg" width=257 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image004_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=185 alt=clip_image004 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image004_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A good checkpoint would be to simply visit &lt;A href="https://adfsaccount.adatum.com/" mce_href="https://adfsaccount.adatum.com"&gt;https://adfsaccount.adatum.com&lt;/A&gt; and make sure you can get to the Under Construction page without any certificate errors. In order to do this, we need to make sure that the name adfsaccount.adatum.com resolves to the IP address of the Proxy machine instead of the FS-A server. My DNS server currently resolves adfsaccount.adatum.com to the IP address of the FS-A. So, the easiest way to do this in a lab environment like this is by using a host file entry.&lt;/P&gt;
&lt;P&gt;My Proxy Server has an IP of 192.168.0.119 – so I can use the host file to bypass DNS resolution for this name. It is easy to comment out the entry and put it back so you can simulate an external client and internal client quickly.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image006_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=169 alt=clip_image006 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image006_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Now that we have SSL setup properly and our client machine resolves the name to the IP of the proxy server, we are ready to request and install a Client Authentication Certificate in the local computer store.&lt;/P&gt;
&lt;P&gt;In my first attempt and putting this blog together, I ran into &lt;A href="http://blogs.technet.com/adfs/archive/2008/06/04/interesting-common-problem-when-adding-an-adfs-proxy.aspx" mce_href="http://blogs.technet.com/adfs/archive/2008/06/04/interesting-common-problem-when-adding-an-adfs-proxy.aspx"&gt;some issues with the client auth certificate&lt;/A&gt;, so it may be good information for you to read that blog before going any further.&lt;/P&gt;
&lt;P&gt;The client authentication certificate will be used by the Proxy server to authenticate with the Federation Server. We will install it into the local computer personal store, then export the public key and add it to the Trust Policy on the Federation Server.&lt;/P&gt;
&lt;P&gt;Unlike the SSL certificate, we don’t need to worry about any specific name. We only care that the EKU has client authentication.&lt;/P&gt;
&lt;P&gt;Below is a shot of my certificate server web page after doing “advanced certificate request” then “Create and submit a request to this CA”&lt;/P&gt;
&lt;P&gt;In the name field, I just put something useful to identify the certificate quickly when I view my local computer store.&lt;/P&gt;
&lt;P&gt;If you have a plain Standalone CA, your screen should look like this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image008_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=244 alt=clip_image008 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image008_thumb.jpg" width=196 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You can check the box to store the certificate in your local store and give it a name like ADFS Proxy Certificate. This will save you some extra steps that I had to go through.&lt;/P&gt;
&lt;P&gt;On my CA, I have had to issue some certificates to some Vista and WS08 machines. In order to do this from a 2003 CA, you need to update the web enrollment pages. Instructions and the hotfix needed to do this are outlined in this &lt;A href="http://support.microsoft.com/kb/922706" mce_href="http://support.microsoft.com/kb/922706"&gt;KB article&lt;/A&gt;. In the article it states the following about computer enrollement:&lt;/P&gt;
&lt;P&gt;Computer certificate enrollment &lt;BR&gt;Administrative rights are required to request a computer certificate. In Windows Vista, Microsoft Internet Explorer does not use administrative rights to run. Therefore, the option to store a computer certificate in the computer store was removed from the Windows Server 2008 certificate enrollment pages.&lt;/P&gt;
&lt;P&gt;Note the lack of the ability to install the certificate directly into the computer store. So I had to install it in the user store, then export with the private key, then import to the computer store. I had to check the “mark keys as exportable” checkbox before placing the request.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image009_2.gif" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image009_2.gif"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=16 alt=clip_image009 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image009_thumb.gif" width=45 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image009_thumb.gif"&gt;&lt;/A&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image011_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image011_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=209 alt=clip_image011 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image011_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image011_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;After approving the request on my CA, then going back to check on the status of a pending request, the only option is to “Install this certificate” and when you do this, it is placed in the user store.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image013_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image013_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=218 alt=clip_image013 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image013_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image013_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;From the user store, do an export with the private key&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image015_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image015_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=172 alt=clip_image015 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image015_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image015_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Then import to the local computer store and this will complete the Client Authentication Certificate request and your local computer store should look like this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image017_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image017_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=157 alt=clip_image017 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image017_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image017_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The next step is to install the ADFS Proxy component on this server.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image019_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image019_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=199 alt=clip_image019 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image019_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image019_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Setup will prompt you to choose a Client Authentication Certificate. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image021_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image021_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=198 alt=clip_image021 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image021_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image021_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;After choosing Select – you will be displayed with a list of all certificates that have the Client EKU in the local computer store. In this setup, I only have one.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image023_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image023_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=244 alt=clip_image023 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image023_thumb.jpg" width=237 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image023_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The next piece of information that setup will want is the FQDN of the Federation Server. We also should ensure that the Proxy Server resolves this name to the IP of the actual Federation Server. In most cases, this is accomplished with a host file entry. I will explain the name resolution portion of this more at the end of this blog.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image025_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image025_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=201 alt=clip_image025 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image025_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image025_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The next item we need to do is export our Client Authentication Certificate (only the public key is needed) and copy it to the Federation Server.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image027_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image027_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=183 alt=clip_image027 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image027_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image027_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image029_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image029_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=186 alt=clip_image029 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image029_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image029_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image031_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image031_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=179 alt=clip_image031 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image031_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image031_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Now we need to go to the Federation Server itself and launch ADFS.MSC. From the snap-in, go to properties of the Trust Policy and then go to the FSP Certificates tab. This is where we are going to add the exported client authentication certificate.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image033_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image033_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=194 alt=clip_image033 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image033_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image033_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image035_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image035_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=196 alt=clip_image035 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image035_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image035_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;If you go back to the Proxy server and launch ADFS.MSC, you will notice there isn’t much to configure here and all the information needed should already be present.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image037_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image037_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=173 alt=clip_image037 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image037_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image037_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Next, from the client machine that we have a host file entry on, we will enter the web application URL. Instead of being redirected to the FS-A when the client resolves adfsaccount.adatum.com it will go to the FS-A Proxy and we get a Forms Based Auth page like this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image039_2.jpg" mce_href="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image039_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=214 alt=clip_image039 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image039_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/AddinganADFSProxyServer_9966/clip_image039_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This is the clientlogon.aspx page from the Proxy Server and the user is prompted for Username/Password each time they access an ADFS enabled application.&lt;/P&gt;
&lt;P&gt;I’m going to try to cover a few items that often cause confusion with the Proxy component.&lt;/P&gt;
&lt;P&gt;1. The server does not have to be domain joined. It can be and often is a standalone server in the perimeter network. A typical setup would be to have the Proxy in the DMZ and a firewall rule which allows communication over 443 between the Proxy and the Federation server only.&lt;/P&gt;
&lt;P&gt;2. The matching certificate subject names on the Federation Server and the Federation Server Proxy also cause confusion. The reason for this is that the ADFS server can only have a single endpoint URL. The web servers and partner federation servers can only be configured with a single URL for federation services. In my example it is adfsaccount.adatum.com. My Federation Server has an IP address of 192.168.0.170 and my Federation Proxy Server has an IP address of 192.168.0.119 (normally this would be a public IP since it would be in the DMZ). My internal DNS server has an A record for adfsaccount.adatum.com à 192.168.0.170, but the internet DNS servers would have an A record for adfsaccount.adatum.com à 192.168.0.119&lt;/P&gt;
&lt;P&gt;If we think about this – if the client is internal to the network, it will point to internal DNS for name resolution and will resolve the name to the .170 address and never visit the Proxy Server. This will result in a single sign on experience as the client has already entered username/password to authenticate with a DC on the internal network.&lt;/P&gt;
&lt;P&gt;If the client is at home or at a public place on the internet, they will be pointed to some ISP DNS server for name resolution. This will resolve the name to the .119 address and the user will get a Forms Based Authentication experience because we assume they have not authenticated with a DC on the internal network.&lt;/P&gt;
&lt;P&gt;Thru the use of a host file on the client machine, we can simulate resolving the name to different IP addresses quickly. The client is pointed to internal DNS so it resolves the name to .170, but a host file entry with the adfsaccount.adatum.com to the .119 address will bypass DNS and simulate a different DNS server with the .119 for that name.&lt;/P&gt;
&lt;P&gt;I hope this is clear and I’m not over explaining. Please feel free to comment to this post if it isn’t clear or if you have a better way to explain.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3069057" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-06-90-57/blog_2D00_adding-proxy.doc" length="656896" type="application/octet-stream" /></item><item><title>Interesting problem when adding an ADFS Proxy</title><link>http://blogs.technet.com/b/adfs/archive/2008/06/04/interesting-common-problem-when-adding-an-adfs-proxy.aspx</link><pubDate>Wed, 04 Jun 2008 18:10:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3066025</guid><dc:creator>jimsim</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=3066025</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2008/06/04/interesting-common-problem-when-adding-an-adfs-proxy.aspx#comments</comments><description>&lt;P&gt;I am&amp;nbsp;working on&amp;nbsp;a blog post (step-by-step) for the Proxy component and I ran into a problem yesterday that ran me around pretty good.&amp;nbsp; We have seen this issue or variations of it on some support cases recently, so I thought the actual problem itself would make a good post.&lt;/P&gt;
&lt;P&gt;The problem is caused by permissions to the private key on the Client Authentication Certificate needed.&amp;nbsp; In my initial attempt to setup and document the Proxy component, I made a request to my Standalone CA for a client authentication certificate.&amp;nbsp; After approving the request, the only option from the certificate web page was to "install this certificate".&amp;nbsp; Next, when I viewed the certificate snap-in on the proxy server, I noticed that the certificate was installed to the user store and not the computer store.&amp;nbsp; I simply did a copy paste operation from user to computer.&amp;nbsp; This appeared to work for me because when I double clicked the certificate, it looked fine.&amp;nbsp; I saw the "You have a private key" on the general tab and I assumed all was well.&lt;/P&gt;
&lt;P&gt;When I went to test - I received a failure.&amp;nbsp; The&amp;nbsp;first thing I did was run the ADFS Diagnostic tool.&amp;nbsp; I ran it on the FS-A, then copied the file to the FS-A Proxy.&amp;nbsp; I&amp;nbsp;passed&amp;nbsp;all tests and the tool was not finding the failure!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are the Event Log and Debug Logs from my FS-A and&amp;nbsp;FS-A Proxy when I attempted&amp;nbsp;to access the application with the Proxy in place:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;From the FS-A&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event Viewer:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event Type:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Error&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event Source:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ADFS Federation Service&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event Category:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;None&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event ID:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;664&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Date:&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;6/3/2008&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Time:&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;5:13:09 PM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;User:&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;N/A&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Computer:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ADFSACCOUNT&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Description:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;The Federation Service failed a privileged Web method call because Secure Sockets Layer (SSL) client authentication information was not available. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;This event can occur if the client does not provide a client certificate or if Internet Information Services (IIS) rejects the client's certificate because it does not chain to a trusted root certification authority in the Federation Service. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;User Action &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;If this is a valid call from the Federation Service Proxy, ensure that the root of the Federation Service Proxy client certificate is trusted by the Federation Service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Debug logs:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;2008-06-03T22:13:09 [INFO] Processing HTTP POST: https://adfsaccount.adatum.com/adfs/fs/FederationServerService.asmx&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;2008-06-03T22:13:09 [VERBOSE] Received message that is not SignIn Request or Response.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red"&gt;&lt;FONT face=Calibri&gt;2008-06-03T22:13:09 [ERROR] MethodInvocationCheck: Client cert is not present&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;2008-06-03T22:13:09 [EVENTLOG] Error ProxyWebMethodAccessDeniedNoCert ()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;2008-06-03T22:13:09 [ERROR] MethodInvocationCheck: Denying access&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;From the FS-A Proxy&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event Viewer:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event Type:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Error&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event Source:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ADFS&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event Category:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;None&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Event ID:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;605&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Date:&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;6/3/2008&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Time:&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;5:13:09 PM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;User:&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;N/A&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Computer:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FSA-PROXY&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Description:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;The Federation Service Proxy encountered an exception when it called a Federation Service Web method. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Federation Server URL: https://adfsaccount.adatum.com/adfs/fs/FederationServerService.asmx &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Web method: GetProxyTrustConfiguration &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Proxy certificate thumbprint: ECF1FE79E51231DF48098E1044233FCBDABF04CC &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;This may cause a user request to fail. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;User Action &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;The exception details may give an indication of the precise problem. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Check network connectivity between the Federation Service Proxy and the Federation Service. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Ensure that the Federation Service is running. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Ensure that the Federation Service Proxy client authentication certificate has been added to the list of proxy authentication certificates in the Federation Service trust policy. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Ensure that the Federation Service Proxy client authentication certificate chains to a root that is trusted by the Federation Service. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Ensure that the Federation Service Internet Information Services (IIS) Secure Sockets Layer (SSL) server certificate chains to a root that is trusted by the Federation Service Proxy. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Ensure that the Federation Service Uniform Resource Locator (URL) that is configured in the Federation Service Proxy web.config uses the name that is the subject of the Federation Service IIS SSL server certificate. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Additional Data &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Exception details: &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;System.Web.Services.Protocols.SoapException: Server was unable to process request. ---&amp;gt; Attempted to perform an unauthorized operation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Security.SingleSignOn.FederationServerSoapProxy.GetProxyTrustConfiguration(VersionInformation proxyVersion, VersionInformation&amp;amp; fsVersion, ProxyInformation&amp;amp; proxyInformation, TrustConfigurationData[]&amp;amp; trustConfig)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Security.SingleSignOn.LSPersistentState.GetPolicy(VersionInformation&amp;amp; fsVersion, ProxyInformation&amp;amp; proxyInformation, TrustConfigurationData[]&amp;amp; data)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;Debug logs:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;2008-06-03T22:13:09 [VERBOSE] Processing HTTP GET: https://adfsaccount.adatum.com/adfs/ls/?wa=wsignin1.0&amp;amp;wtrealm=urn:federation:treyresearch&amp;amp;wct=2008-06-03T22:13:09Z&amp;amp;wctx=https://adfsweb.treyresearch.net:8081/claimapp/\https://adfsweb.treyresearch.net:8081/claimapp/default.aspx&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;2008-06-03T22:13:09 [VERBOSE] Received SignIn Request.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red"&gt;&lt;FONT face=Calibri&gt;2008-06-03T22:13:09 [ERROR] Exception from GetProxyTrustConfiguration: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---&amp;gt; Attempted to perform an unauthorized operation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Security.SingleSignOn.FederationServerSoapProxy.GetProxyTrustConfiguration(VersionInformation proxyVersion, VersionInformation&amp;amp; fsVersion, ProxyInformation&amp;amp; proxyInformation, TrustConfigurationData[]&amp;amp; trustConfig)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Security.SingleSignOn.LSPersistentState.GetPolicy(VersionInformation&amp;amp; fsVersion, ProxyInformation&amp;amp; proxyInformation, TrustConfigurationData[]&amp;amp; data)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;2008-06-03T22:13:09 [EVENTLOG] Error ExceptionFromFedServer (https://adfsaccount.adatum.com/adfs/fs/FederationServerService.asmx, GetProxyTrustConfiguration, ECF1FE79E51231DF48098E1044233FCBDABF04CC, System.Web.Services.Protocols.SoapException: Server was unable to process request. ---&amp;gt; Attempted to perform an unauthorized operation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Security.SingleSignOn.FederationServerSoapProxy.GetProxyTrustConfiguration(VersionInformation proxyVersion, VersionInformation&amp;amp; fsVersion, ProxyInformation&amp;amp; proxyInformation, TrustConfigurationData[]&amp;amp; trustConfig)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;at System.Web.Security.SingleSignOn.LSPersistentState.GetPolicy(VersionInformation&amp;amp; fsVersion, ProxyInformation&amp;amp; proxyInformation, TrustConfigurationData[]&amp;amp; data))&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As&amp;nbsp;you can see, there is a problem with the client auth certificate somewhere.&amp;nbsp; I did a fair amount of double checking my steps - but everything looked correct and seemed to be checking out.&amp;nbsp; The doubt was starting to creep in - I started to wonder how much I knew about this stuff!&amp;nbsp; Then I remembered an issue that came up a few weeks ago.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The diagnostic tool does check for the existence and proper&amp;nbsp;permissions&amp;nbsp;of the private key and will flag it - but it does so in the user context.&amp;nbsp; ADFS is operating under the machine context.&amp;nbsp; So when I look at the certificate or run some certutil commands against it - it all checks out because I'm in&amp;nbsp;my user security context.&amp;nbsp; If I launch a CMD prompt with AT scheduler and run the same commands or run the Diagnostic tool - I find the error.&amp;nbsp; The local computer does not have permissions to the private key of the client authentication certificate.&lt;/P&gt;
&lt;P&gt;I was able to re-issue the certificate and mark the private keys as exportable, then do an export/import operation from the user store to computer store and everything worked as expected.&lt;/P&gt;
&lt;P&gt;Since Client Authentication certificates are commonly used for user operations vs. computer operations - it is easy to see how others could hit this very same problem.&amp;nbsp; Hopefully the errors and debug log entries will make this blog post discoverable for others hitting this.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3066025" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/Troubleshooting/">Troubleshooting</category></item><item><title>Using ADFS with Constrained Delegation</title><link>http://blogs.technet.com/b/adfs/archive/2008/05/13/using-adfs-with-constrained-delegation.aspx</link><pubDate>Wed, 14 May 2008 01:08:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3054771</guid><dc:creator>jimsim</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=3054771</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2008/05/13/using-adfs-with-constrained-delegation.aspx#comments</comments><description>&lt;P&gt;With ADFS - the authentication token issued is good for the web server with the agent installed.&amp;nbsp; It is a local RPC token and cannot go off the box.&amp;nbsp; With some additional configuration, you can configure ADFS to go off the box and delegate with a kerbitized back-end.&amp;nbsp; There are some caveats - namely, a shadow account must exist in the resource forest.&amp;nbsp; If you are in a WebSSO scenario - then this isn't a big deal because the account is already there.&amp;nbsp; If you are in a Federated WebSSO scenario, you will need to create accounts that have a matching UPN address.&lt;/P&gt;
&lt;P&gt;Also, keep in mind that you will need to first do Protocol Transition, then Constrained Delegation.&lt;/P&gt;
&lt;P&gt;Start with the ADFS step-by-step lab found &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=062F7382-A82F-4428-9BBD-A103B9F27654&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=062F7382-A82F-4428-9BBD-A103B9F27654&amp;amp;displaylang=en"&gt;here&lt;/A&gt; with Adatum (account) and Treyresearch (resource) setup as noted: &lt;/P&gt;
&lt;P&gt;FS-A is running on a DC&lt;/P&gt;
&lt;P&gt;FS-R is running on a DC&lt;/P&gt;
&lt;P&gt;Web Server is running on a member server of the FS-R domain&lt;/P&gt;
&lt;P&gt;The web application used for this test is attached – it simply enumerates the contents of ou=a,dc=treyresearch,dc=net.&lt;/P&gt;
&lt;P&gt;This guide enables constrained delegation without TCB on an AppPool identity.&amp;nbsp; Many admins are concerned about any accounts with TCB enabled, so this should allow for better security practices with ADFS.&amp;nbsp; This Whitepaper discusses the requirements and TCB user right in fairly good detail: &lt;A href="http://technet2.microsoft.com/WindowsServer/en/Library/c312ba01-318f-46ca-990e-a597f3c294eb1033.mspx?mfr=true" mce_href="http://technet2.microsoft.com/WindowsServer/en/Library/c312ba01-318f-46ca-990e-a597f3c294eb1033.mspx?mfr=true"&gt;http://technet2.microsoft.com/WindowsServer/en/Library/c312ba01-318f-46ca-990e-a597f3c294eb1033.mspx?mfr=true&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The steps necessary to demo the functionality are detailed below.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;Create a shadow user for adatum\adamcar in the treyresearch forest&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;You must first add a upn suffix of &lt;EM&gt;adatum.com &lt;/EM&gt;using domain.msc&amp;nbsp; - the shadow account uses the adatum upn suffix address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Create two domain service accounts in the Treyresearch.net domain – &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;One called &lt;EM&gt;webservice &lt;/EM&gt;(for the web app pool identity)&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;The other called &lt;EM&gt;ifs_account &lt;/EM&gt;(for the adfs web agent)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;On the local security policy of the web server – add these user rights to &lt;EM&gt;ifs_account&lt;/EM&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;Act as part of the operating system&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Logon as a Service &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Generate Security Audit Events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;On the local security policy of the web server – add these user rights to &lt;EM&gt;webservice&lt;/EM&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;Logon as a Service&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Generate Security Audit Event&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;NOTE:&amp;nbsp; The App pool identity does not have TCB in this setup&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Add both domain service accounts to the Web Server machine's local IIS_WPG group&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Make sure both domain service accounts have write access to &lt;EM&gt;c:\windows\temp &lt;/EM&gt;and &lt;EM&gt;c:\windows\microsoft.net\framework\v2.0.50727\temporary asp.net files&lt;/EM&gt;&lt;EM&gt; &lt;/EM&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Change the Application Pool Identity for Web application to the &lt;EM&gt;webservice &lt;/EM&gt;domain service account&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Change the ADFS Web Agent service to run under the &lt;EM&gt;ifs_account&lt;/EM&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;On the resource DC open the Users and Computers snapin, and on the delegation tab of both domain service accounts specify&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;Trust user for specified services only&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Use any authentication protocol&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Add the domain controller’s LDAP service record.&amp;nbsp; &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Add the Web application code from here to the web server and enable the ADFS NT-Token based Web Agent &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;In ADFS.MSC on the FS-R, add a new token application – only enable the UPN claim.&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;In ADFS.MSC on the FS-R, go to the A. Datum account partner properties and on the resource accounts tab choose Resource accounts exist for some users (prefer resource accounts)&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Create an OU and remove authenticated users from the security, add the adamcar shadow account and grant permissions.&amp;nbsp; Enable object access auditing on the OU.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;From an XP client in the Adatum forest logged on as &lt;A href="mailto:Adamcar@adatum.com" mce_href="mailto:Adamcar@adatum.com"&gt;Adamcar@adatum.com&lt;/A&gt;&amp;nbsp; - launch a browser and open &lt;A href="https://adfsweb.treyresarch.net/ou/default.aspx" mce_href="https://adfsweb.treyresarch.net/ou/default.aspx"&gt;https://adfsweb.treyresarch.net/ou/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The page writes out the identity of treyresearch\adamcar, then simply press the button and the contents of ou=a,dc=treyresearch,dc=net are displayed in the text box.&lt;/P&gt;
&lt;P&gt;The DC’s security log should show the following:&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Event Type: Success Audit&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Event Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Security&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Event Category:&amp;nbsp;&amp;nbsp; Logon/Logoff &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Event ID:&amp;nbsp;&amp;nbsp; 540&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Date:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5/2/2008&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Time:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11:44:14 AM&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;User:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TREYRESEARCH\adamcar&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Computer:&amp;nbsp;&amp;nbsp; ADFSRESOURCE&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Description:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Successful Network Logon:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; User Name:&amp;nbsp; &lt;/FONT&gt;&lt;A href="mailto:adamcar@adatum.com" mce_href="mailto:adamcar@adatum.com"&gt;&lt;FONT face=Courier size=1&gt;adamcar@adatum.com&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Domain:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TREYRESEARCH.NET&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logon ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x0,0x5791A)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logon Type: 3&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logon Process:&amp;nbsp;&amp;nbsp;&amp;nbsp; Kerberos&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Authentication Package: Kerberos&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Workstation Name: &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logon GUID: {f825dc83-9f3c-feea-5c82-663d6ca646f8}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caller User Name: -&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caller Domain:&amp;nbsp;&amp;nbsp;&amp;nbsp; -&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caller Logon ID:&amp;nbsp; -&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caller Process ID: -&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Transited Services: &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="mailto:WEBSERVICE@TREYRESEARCH.NET" mce_href="mailto:WEBSERVICE@TREYRESEARCH.NET"&gt;&lt;FONT face=Courier size=1&gt;WEBSERVICE@TREYRESEARCH.NET&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source Network Address: 192.168.0.121&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Source Port:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1150&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Event Type: Success Audit&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Event Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Security&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Event Category:&amp;nbsp;&amp;nbsp; Directory Service Access &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Event ID:&amp;nbsp;&amp;nbsp; 566&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Date:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5/2/2008&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Time:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11:44:14 AM&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;User:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TREYRESEARCH\adamcar&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Computer:&amp;nbsp;&amp;nbsp; ADFSRESOURCE&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Description:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Object Operation:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object Server:&amp;nbsp;&amp;nbsp;&amp;nbsp; DS&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Operation Type:&amp;nbsp;&amp;nbsp; Object Access&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object Type:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; organizationalUnit&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OU=a,DC=treyresearch,DC=net&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Handle ID:&amp;nbsp; -&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Primary User Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADFSRESOURCE$&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Primary Domain:&amp;nbsp;&amp;nbsp; TREYRESEARCH&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Primary Logon ID: (0x0,0x3E7)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;Client User Name: &lt;/FONT&gt;&lt;A href="mailto:adamcar@adatum.com" mce_href="mailto:adamcar@adatum.com"&gt;&lt;FONT face=Courier size=1&gt;adamcar@adatum.com&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Client Domain:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Client Logon ID:&amp;nbsp; (0x0,0x5791A)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Accesses:&amp;nbsp;&amp;nbsp; List Contents &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Properties:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List Contents &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;organizationalUnit&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Additional Info:&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Additional Info2: &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Access Mask:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x4&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3054771" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-05-47-71/ou-enumeration-app.zip" length="2297" type="application/x-zip-compressed" /></item><item><title>Script to configure SharePoint to use ADFS authentication </title><link>http://blogs.technet.com/b/adfs/archive/2007/11/01/script-to-configure-sharepoint-to-use-adfs-authentication.aspx</link><pubDate>Thu, 01 Nov 2007 23:02:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2305277</guid><dc:creator>jimsim</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=2305277</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/11/01/script-to-configure-sharepoint-to-use-adfs-authentication.aspx#comments</comments><description>&lt;P&gt;More great tools by the ADFS team...&lt;/P&gt;
&lt;P&gt;Problems with the web.config files are one of the more common issues we see with ADFS/MOSS cases in PSS.&amp;nbsp; Now there is a script with will make the modifications for you.&lt;/P&gt;
&lt;P&gt;It is located on the SharePoint team blog and can be accessed &lt;A class="" href="http://blogs.msdn.com/sharepoint/archive/2007/10/11/a-script-to-configure-sharepoint-to-use-adfs-for-authentication.aspx" mce_href="http://blogs.msdn.com/sharepoint/archive/2007/10/11/a-script-to-configure-sharepoint-to-use-adfs-for-authentication.aspx"&gt;here.&lt;/A&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2305277" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/SharePoint/">SharePoint</category></item><item><title>ADFS Diagnostic Tool</title><link>http://blogs.technet.com/b/adfs/archive/2007/11/01/adfs-diagnostic-tool.aspx</link><pubDate>Thu, 01 Nov 2007 22:44:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2305228</guid><dc:creator>jimsim</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=2305228</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/11/01/adfs-diagnostic-tool.aspx#comments</comments><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;A huge&amp;nbsp;thanks&amp;nbsp;to the ADFS test&amp;nbsp;team&amp;nbsp;for&amp;nbsp;developing such a great tool.&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Here is a quick "how to"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;The tool is very simple to use and provides a graphical UI. In order to perform distributed diagnosis, i.e. diagnose failures based on the configuration of multiple machines in the scenario, it’s necessary to copy the out file generated by the tool each time it’s run and use it as an input/output file when running the tool on the next machine.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;For example, to debug a scenario with an FS at the account role (FS-A), an FS at the resource role (FS-R) and a Web Server (WS), first run the tool on the FS-A selecting a new file, say adfsdiag.out. After the tool is run, this file will now contain configuration information relative to the FS-A. Copy the file to the FS-R machine and run the tool there, this time selecting the existing adfsdiag.out file. The tool will detect it already contains information relative to other roles and will execute extra configuration checks, for example, a claim flow check that verifies the outgoing claims sent by the FS-A match the incoming claims expected by the FS-R. After this second run, adfsdiag.out will contain information relative to both the FS-A and FS-R. Finally, copy the out file to the WS machine and run the tool again following the same steps. When running the tool for a role for which there’s already information present in the selected file, the old data for that role will be overwritten with the new information, making it possible to fix errors on a machine and re-run the tool without having to start the whole process all over again. There’s no “right order” to run the tool, all of them should give the same output, except for some certificate checks that will only be executed at the WS in case the information from the FS-R is available beforehand&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please give this tool a try and provide any feedback to this blog.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2305228" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-02-30-52-28/ADFSDiag.zip" length="2125543" type="application/x-zip-compressed" /><category domain="http://blogs.technet.com/b/adfs/archive/tags/Troubleshooting/">Troubleshooting</category><category domain="http://blogs.technet.com/b/adfs/archive/tags/ADFS+Diagnostic+Tool/">ADFS Diagnostic Tool</category></item><item><title>Enabling debug logging for Claims Aware Applications</title><link>http://blogs.technet.com/b/adfs/archive/2007/08/10/enabling-debug-logging-for-claims-aware-applications.aspx</link><pubDate>Fri, 10 Aug 2007 22:16:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1732949</guid><dc:creator>jimsim</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=1732949</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/08/10/enabling-debug-logging-for-claims-aware-applications.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;Place the following in your applications web.config file.&amp;nbsp; Place this&amp;nbsp;after the &amp;lt;/system.net&amp;gt; section of the file.&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;lt;system.diagnostics&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;switches&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="WebSsoDebugLevel" value="15" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/switches&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;trace autoflush="true" indentsize="3"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;listeners&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="ADFSLogListener" type="System.Web.Security.SingleSignOn.BoundedSizeLogFileTraceListener, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" initializeData="c:\adfs\logs\" /&amp;gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/listeners&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/trace&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormalIndent style="BACKGROUND: #d8d8d8; MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.diagnostics&amp;gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1732949" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/Troubleshooting/">Troubleshooting</category></item><item><title>Update on configuring MOSS as a claims aware application</title><link>http://blogs.technet.com/b/adfs/archive/2007/07/30/update-on-configuring-moss-as-a-claims-aware-application.aspx</link><pubDate>Tue, 31 Jul 2007 04:11:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1656885</guid><dc:creator>jimsim</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=1656885</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/07/30/update-on-configuring-moss-as-a-claims-aware-application.aspx#comments</comments><description>&lt;P&gt;======================================================================================&amp;nbsp;&lt;/P&gt;
&lt;P&gt;UPDATE:&lt;/P&gt;
&lt;P&gt;I'm not going to remove this blog or the original blog on the web.config entries - but I do want to make note that these web.config files should not be modified directly anymore.&amp;nbsp; Please use the &lt;A href="http://blogs.msdn.com/sharepoint/archive/2007/10/11/a-script-to-configure-sharepoint-to-use-adfs-for-authentication.aspx" mce_href="http://blogs.msdn.com/sharepoint/archive/2007/10/11/a-script-to-configure-sharepoint-to-use-adfs-for-authentication.aspx"&gt;SetupSharePointADFS.vbs&lt;/A&gt; file to configure the MOSS applications for the SSO Provider.&amp;nbsp; The script eliminates the possiblility of typo's, etc from these config files.&amp;nbsp; I have used the script many times and it works great.&amp;nbsp; If you open the help file included and go to the end - scenario 2 covers is the syntax you will use if you follow my other blog posts.&lt;/P&gt;
&lt;P&gt;======================================================================================&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's been a few months since I posted the steps for configuring the WebSSO provider in MOSS.&amp;nbsp; Recently, we have seen a spike in cases involving this configuration.&amp;nbsp; In almost all of these cases, the problem has been with the web.config files.&amp;nbsp; I'm going to try to highlight a couple of key points when setting this configuration up.&amp;nbsp; I've also made some minor changes to the original post to eliminate some confusion.&lt;/P&gt;
&lt;P&gt;First item - there are three web.config files you will edit, the central admin file, the intranet file which uses Windows Integrated Authentication, and the extranet site web.config.&amp;nbsp;&amp;nbsp; You will make the same changes to the central admin and intranet files.&amp;nbsp; I'm going to put the section needed here.&amp;nbsp; I recommend a copy/paste operation to notepad, change the fs-server to your actual server name, indent it how you like it, then modify the actual web.config files by copy/paste from your notepad file to the web.config file.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;In&amp;nbsp;the&lt;STRONG&gt;&amp;nbsp;intranet&lt;/STRONG&gt; and the &lt;STRONG&gt;central admin&lt;/STRONG&gt; web.config files add this section directly below the &amp;lt;authentication mode&amp;gt; section &lt;/P&gt;
&lt;P&gt;&amp;lt;membership&amp;gt;&lt;BR&gt;&amp;lt;providers&amp;gt;&lt;BR&gt;&amp;lt;add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="&lt;A href="https://fs-server/adfs/fs/federationserverservice.asmx" mce_href="https://fs-server/adfs/fs/federationserverservice.asmx"&gt;https://fs-server/adfs/fs/federationserverservice.asmx&lt;/A&gt;" /&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/providers&amp;gt;&lt;BR&gt;&amp;lt;/membership&amp;gt;&lt;BR&gt;&amp;lt;roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"&amp;gt;&lt;BR&gt;&amp;lt;providers&amp;gt;&lt;BR&gt;&amp;lt;remove name="AspNetSqlRoleProvider" /&amp;gt; &amp;lt;add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="&lt;A href="https://fs-server/adfs/fs/federationserverservice.asmx" mce_href="https://fs-server/adfs/fs/federationserverservice.asmx"&gt;https://fs-server/adfs/fs/federationserverservice.asmx&lt;/A&gt;" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;/providers&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;/roleManager&amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Now - on to the web.config file for the &lt;STRONG&gt;extranet&lt;/STRONG&gt;.&amp;nbsp; Add these entries:&lt;/P&gt;
&lt;P&gt;Add the following entry within the &amp;lt;configSections&amp;gt; node &lt;/P&gt;
&lt;P&gt;&amp;lt;sectionGroup name="system.web"&amp;gt;&lt;BR&gt;&amp;lt;section name="websso" type="System.Web.Security.SingleSignOn.WebSsoConfigurationHandler, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" /&amp;gt;&lt;BR&gt;&amp;lt;/sectionGroup&amp;gt;&lt;/P&gt;
&lt;P&gt;Add the following entry to the &amp;lt;httpModules&amp;gt; node &lt;/P&gt;
&lt;P&gt;&amp;lt;add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" /&amp;gt;&lt;/P&gt;
&lt;P&gt;The ADFS authentication module should always be specified after the sharepoint SPRequest module in the in the &amp;lt;httpModules&amp;gt; section of the web.config file. It is safest to add it as the last entry in that section.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Add the following entry to the directly after the &amp;lt;authentication mode&amp;gt; node &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;membership defaultProvider="SingleSignOnMembershipProvider2"&amp;gt;&lt;BR&gt;&amp;lt;providers&amp;gt;&lt;BR&gt;&amp;lt;add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="&lt;A href="https://fs-server/adfs/fs/federationserverservice.asmx" mce_href="https://fs-server/adfs/fs/federationserverservice.asmx"&gt;https://fs-server/adfs/fs/federationserverservice.asmx&lt;/A&gt;" /&amp;gt;&lt;BR&gt;&amp;lt;/providers&amp;gt;&lt;BR&gt;&amp;lt;/membership&amp;gt;&lt;BR&gt;&amp;lt;roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2"&amp;gt;&lt;BR&gt;&amp;lt;providers&amp;gt;&lt;BR&gt;&amp;lt;add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="&lt;A href="https://fs-server/adfs/fs/federationserverservice.asmx" mce_href="https://fs-server/adfs/fs/federationserverservice.asmx"&gt;https://fs-server/adfs/fs/federationserverservice.asmx&lt;/A&gt;" /&amp;gt;&lt;BR&gt;&amp;lt;/providers&amp;gt;&lt;BR&gt;&amp;lt;/roleManager&amp;gt;&lt;BR&gt;&amp;lt;websso&amp;gt;&lt;BR&gt;&amp;lt;authenticationrequired /&amp;gt;&lt;BR&gt;&amp;lt;auditlevel&amp;gt;55&amp;lt;/auditlevel&amp;gt;&lt;BR&gt;&amp;lt;urls&amp;gt;&lt;BR&gt;&amp;lt;returnurl&amp;gt;https://your_application&amp;lt;/returnurl&amp;gt;&lt;BR&gt;&amp;lt;/urls&amp;gt;&lt;BR&gt;&amp;lt;fs&amp;gt;https://fs-server/adfs/fs/federationserverservice.asmx&amp;lt;/fs&amp;gt;&lt;BR&gt;&amp;lt;isSharePoint /&amp;gt;&lt;BR&gt;&amp;lt;/websso&amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;I've tried to clean up the trailing spaces and line it up with the technet documentation for my friends down in Houston ;)&lt;/P&gt;
&lt;P mce_keep="true"&gt;Last - the latest issue we have seen is that we couldn't add a user by their UPN address to the SharePoint site.&amp;nbsp; It turned out that an account store was not present on the FS-R.&amp;nbsp; Here is the explanation on why this matters.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;snip&amp;gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The people picker will look up a user based on the email name(note: not the UPN) by successively calling ADFS MembershipProvider methods. During invitation time, the ADFS membership provider will call web method GetTrustedRealmUri() to FS and return the appropriate results.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If the input names are of valid email syntax, in either of the following 3 cases, the people picker can successfully resolve the user (which means the GetTrustedRealmUri() web method will return TRUE):&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="COLOR: #1f497d; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The user’s &lt;B&gt;email suffix&lt;/B&gt; is accepted from one of the Federation trust partners.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="COLOR: #1f497d; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;There is a &lt;B&gt;Windows Trust&lt;/B&gt; setup in the Policy with the account partner and is set to &lt;B&gt;accept all domain suffixes&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraph&gt;&lt;SPAN style="COLOR: #1f497d; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;There are &lt;B&gt;account stores&lt;/B&gt; configured in the Trust Policy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&amp;lt;/snip&amp;gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1656885" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/SharePoint/">SharePoint</category></item><item><title>ADFS Certificates - SSL, Token Signing, and Client Authentication Certs</title><link>http://blogs.technet.com/b/adfs/archive/2007/07/23/adfs-certificates-ssl-token-signing-and-client-authentication-certs.aspx</link><pubDate>Tue, 24 Jul 2007 01:11:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1590026</guid><dc:creator>jimsim</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=1590026</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/07/23/adfs-certificates-ssl-token-signing-and-client-authentication-certs.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We are seeing quite a few support calls relating to certificate problems. Many of these are due to a misunderstanding of how the various certificates are used. 
&lt;P&gt;ADFS/PKI issues are often very difficult to diagnose for the following reason – a lack of logging telling you what the problem is. 
&lt;P&gt;For example – if the SSL certificate on your Web Server is incorrect or has a problem like missing a private key. The user experience will be a page can’t be displayed error and absolutely nothing will be logged in the event viewer, security log, or adfs debug logs. 
&lt;P&gt;There are several variations of this – but if you aren’t getting *&lt;B&gt;anything&lt;/B&gt;* in the logs – start looking at your certificates! More times than not – it is the SSL certificate and you aren’t even getting to ADFS which is why there aren’t any error messages to work with. 
&lt;P&gt;Other sub-items that come to mind on this topic are: 
&lt;P&gt;1. Using Certutil to verify the certificates in question 
&lt;P&gt;2. What type of certificate should I use? 3&lt;SUP&gt;rd&lt;/SUP&gt; Party, an internal CA, or a combination of the two. 
&lt;P&gt;In addition to this blog, you should also review the TechNet documentation on Understanding Certificates starting &lt;A href="http://technet2.microsoft.com/windowsserver/en/library/b96d4334-99ff-4167-b8d6-76e7a5aa82081033.mspx" mce_href="http://technet2.microsoft.com/windowsserver/en/library/b96d4334-99ff-4167-b8d6-76e7a5aa82081033.mspx"&gt;here.&lt;/A&gt; Between the two, I hope it makes it clear what goes where. 
&lt;P&gt;Also, it may be helpful to revisit my blog on the PKI portion of setting up a lab.&amp;nbsp; That is located &lt;A class="" href="http://blogs.technet.com/adfs/archive/2007/02/26/setting-up-an-adfs-lab-environment-part-1.aspx" mce_href="http://blogs.technet.com/adfs/archive/2007/02/26/setting-up-an-adfs-lab-environment-part-1.aspx"&gt;here.&lt;/A&gt; 
&lt;P&gt;&lt;FONT size=5&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=5&gt;&lt;STRONG&gt;ADFS Certificates for Federation Servers&lt;/STRONG&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;B&gt;SSL Certificate&lt;/B&gt; 
&lt;P&gt;The SSL certificates must be trusted by the client machine which accesses the web sites. Since the client machine (in a Federated WebSSO scenario) will visit the WS, then the FS-R, then the FS-A, the client must trust all three SSL certificates. For this reason, it may make sense to use a 3&lt;SUP&gt;rd&lt;/SUP&gt; party certificate for the SSL certificate. 
&lt;P&gt;A SSL certificate is in place to encrypt the session between client and the server. These certificates are not specific to ADFS, but rather specific to IIS. 
&lt;P&gt;The Subject Name of the SSL certificate must match the names used in the ADFS configuration. For example, if you specify a federation server endpoint URL as &lt;A href="https://adfsresource.treyresearch.net/adfs/ls/" mce_href="https://adfsresource.treyresearch.net/adfs/ls"&gt;https://adfsresource.treyresearch.net/adfs/ls/&lt;/A&gt; - then the subject name on the SSL certificate for that server must be “adfsresource.treyresearch.net” This is a very important item and a common misconfiguration. The name can be anything – it just needs to match. If you choose to setup ADFS for use on the intranet only and you want to use only the host name, then the endpoint URL would be &lt;A href="https://adfsresource/adfs/ls/" mce_href="https://adfsresource/adfs/ls/"&gt;https://adfsresource/adfs/ls/&lt;/A&gt; and the Subject Name on the certificate should be “adfsresource” 
&lt;P&gt;The same Subject Name rules also apply to the web sites protected by ADFS. The name on the certificate should match the name clients will use to access the ADFS protected web site. 
&lt;P&gt;&lt;B&gt;Token Signing Certificate&lt;/B&gt; 
&lt;P&gt;On the Federation Servers – you also need a &lt;B&gt;token signing certificate. &lt;/B&gt;This certificate can be any X.509 certificate, the intended purpose or EKU doesn’t matter. The “issued to” name doesn’t matter. Any X.509 certificate will do. When you install the Federation Server role – setup will prompt you to pick a token signing certificate OR let setup create a self signed certificate for you. 
&lt;P&gt;Self Signed Certificates are OK for a lab – but should not be used in production deployments. 
&lt;P&gt;If you choose to select a token signing certificate in the setup portion, you will be presented with a list of all certificates present in the local machine personal certificate store. Whichever option you choose, the setup program will place an export of the token signing certificate in the list of &lt;B&gt;verification certificates&lt;/B&gt; for the same machine. A verification certificate is simply an export (less the private key) of the token signing certificate. Each Federation Server must have a verification certificate for its own token signing certificate. If you change the token signing certificate later – the adfs.msc program will display a message telling you that the new verification certificate will be added to the list of verification certificates. 
&lt;P&gt;It seems a little strange that a Federation Server needs to verify its own token signing certificate, but that is the way it works… 
&lt;P&gt;A token signing certificate is used to “sign the ADFS authentication token” - this is the token that contains a users claims and is used to make authorization decisions at the website. The verification token is used to “verify” the token was sent by the federated partner and that it has not been tampered with. 
&lt;P&gt;In a Federated WebSSO scenario where you have an Account Partner and a Resource Partner, the Account Partner’s verification certificate must be present on the Resource Partners trust policy file. This certificate (by default) must be trusted, must be able to chain to the root, and must be able to access the certificate revocation list. 
&lt;P&gt;IMPORTANT NOTE: 
&lt;P&gt;Using the SSL certificate for the token signing certificate will work – but this should not be the configuration you use in production. This is considered bad key hygiene. The SSL certificate for the web site serves one purpose – the token signing certificate serves an entirely different purpose. This is the most misunderstood item we see. 
&lt;P&gt;Here is a screenshot from my Federation Server – notice how the SSL certificate is “issued to” adfsresource.treyresearch.net and the Token Signing certificate I use has a friendly name in the Issued To 
&lt;P&gt;&lt;IMG height=275 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ADFSCertificatesSSLTokenSigningandClient_F1C8/clip_image002.jpg" width=777 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ADFSCertificatesSSLTokenSigningandClient_F1C8/clip_image002.jpg"&gt; 
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=5&gt;ADFS Certificates for Federation Server Proxies&lt;/FONT&gt;&lt;/STRONG&gt; 
&lt;P&gt;&lt;B&gt;SSL Certificate&lt;/B&gt; 
&lt;P&gt;As with the other Federation Server roles, the FS-P web site will need a SSL certificate. The Subject Name must match the Federation Server endpoint URL specified on the Federation Server. If you have your endpoint URL as &lt;A href="https://adfsresource.treyresearch.net/adfs/ls/" mce_href="https://adfsresource.treyresearch.net/adfs/ls/"&gt;https://adfsresource.treyresearch.net/adfs/ls/&lt;/A&gt; - the SSL certificate for the federation server itself should have a Subject Name of adfsresource.treyresearch.net and the Federation Server Proxy SSL certificate should also have a Subject Name of adfsresource.treyresearch.net. Even if the machine name is adfsproxy.treyresearch.net – the URL the client will hit is adfsresource.treyresearch.net. &lt;I&gt;Whether or not the client is redirected to the IP address of adfsresource or adfsproxy depends on how the client resolves that name via DNS.&lt;/I&gt; 
&lt;P&gt;A typical name resolution setup for a Proxy scenario would be to have client machines on the internal LAN resolve adfsresource to the actual IP address of adfsresource. 
&lt;P&gt;Client machines on the internet (or outside of your internal LAN) resolve the name adfsresource.treyresearch.net to the IP address of adfsproxy.treyresearch.net. It is important to remember that you won’t specify the name adfsproxy.treyresearch.net anywhere in your setup. The website on this server should have a certificate issued to the name adfsresource.treyresearch.net. 
&lt;P&gt;The adfsproxy.treresearch.net server should be configured to resolve the name adfsresource.treyresearch.net to the actual IP address of adfsresource.treyresearch.net (this machine should be the only server in the DMZ/Internet) that knows adfsresource by its real IP. This is commonly accomplished by using a host file on adfsproxy. 
&lt;P&gt;With the scenario setup like this – the internal LAN clients will enjoy a single sign on experience when visiting an ADFS resource (not be prompted for credentials). Users external to the LAN will be presented with a forms based authentication page asking for username/password. 
&lt;P&gt;This is typically a desired configuration because the internet user probably hasn’t authenticated with his or her&amp;nbsp;home domain. 
&lt;P&gt;&lt;B&gt;Client Authentication Certificate&lt;/B&gt; 
&lt;P&gt;I like to explain the client authenticate certificate as “It is sort of like the token signing certificate, but for ADFS proxy servers” – while this isn’t really the case, it is a different certificate than what is used for SSL on the website. This certificate must have “client authentication” as an intended purpose. When you install the Federation Proxy component, when you choose your client authentication certificate, you will be presented with a list of certificates that have an EKU of “Client Authentication.” If you don’t have any in the local machine personal store, the list will be empty. 
&lt;P&gt;The client authentication certificate and its private key reside on the ADFS Proxy Server, but a copy of this certificate with only the public key resides on the Federation Server. This is why I try to explain it as “think of it like the proxies TS certificate” - it is different in many ways. Most importantly, it isn’t used to sign any tokens. But again – this is a completely different certificate than the one used for SSL on the server.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1590026" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/Installation_2D00_How+to/">Installation-How to</category></item><item><title>ADFS Claims Aware Virtual Lab - now online</title><link>http://blogs.technet.com/b/adfs/archive/2007/07/21/adfs-claims-aware-virtual-lab-now-online.aspx</link><pubDate>Sat, 21 Jul 2007 16:33:53 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1574312</guid><dc:creator>jimsim</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=1574312</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/07/21/adfs-claims-aware-virtual-lab-now-online.aspx#comments</comments><description>&lt;p&gt;I recently worked with the folks that handle the virtual labs for Technet.&amp;nbsp; We corrected the certificate issues and some other minor issues.&amp;nbsp; You can access the lab &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032346773&amp;amp;EventCategory=3&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Event Overview:&lt;/p&gt; &lt;p&gt;After completing this lab, you will be better able to set-up a trust relationship among business partners. You will walk-through creating, populating, and transforming "claims" about users that are shared between security contexts. Additionally, you will turn federation claims into authorization decisions in a federated application and finally, you will integrate a claims-aware application. &lt;p&gt;&amp;nbsp; &lt;p&gt;This is a very cool way to get your hands on ADFS without having to setup 3 or 4 virtual machines.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1574312" width="1" height="1"&gt;</description></item><item><title>Configuring SQL Reporting Services to use ADFS Authentication</title><link>http://blogs.technet.com/b/adfs/archive/2007/05/07/configuring-sql-reporting-services-to-use-adfs-authentication.aspx</link><pubDate>Tue, 08 May 2007 01:51:11 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:902423</guid><dc:creator>jimsim</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=902423</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/05/07/configuring-sql-reporting-services-to-use-adfs-authentication.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Special thanks to Rahul Shelar and Sachin Mundra from the ADFS and SQL teams for working with me on this latest issue.&amp;nbsp; Without their help, I would still be banging my head against the wall.&amp;nbsp; I learned quite a bit about SSRS along the way and also learned what &lt;a href="http://blogs.technet.com/adfs/archive/2007/04/26/ifsext-dll-and-the-dialog-box-that-is-so-very-wrong.aspx"&gt;the stupid checkbox&lt;/a&gt; in IIS really meant. &lt;p&gt;This document assumes SSRS is installed and working properly using Windows Integrated Authentication. SQL Reporting Services is installed on a R2 member server named SRS.Treyresearch.net and the SQL 2005 database server is located on another R2 member server named SQL.Treyersearch.net &lt;p&gt;The following is a screenshot of IIS Manager after initial installation and configuration of SSRS. &lt;p&gt;&lt;img height="440" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image002.jpg" width="624"&gt; &lt;p&gt;The App Pool Identity can be either Network Service (default) or a domain service account &lt;p&gt;&lt;img height="432" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image004.jpg" width="457"&gt; &lt;p&gt;Steps to configure the site for ADFS &lt;p&gt;1.&amp;nbsp; Enter the FQDN and path to&amp;nbsp;the federationserverservice.asmx page of&amp;nbsp;the FS-R on the web sites node of IIS.  &lt;p&gt;2.&amp;nbsp; Enable the ADFS agent on the default web site &lt;p&gt;&lt;img height="455" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image006.jpg" width="470"&gt; &lt;p&gt;&lt;img height="455" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image008.jpg" width="470"&gt; &lt;p&gt;3. Add the token based application to ADFS.MSC on the resource federation server &lt;p&gt;&lt;img height="408" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image010.jpg" width="330"&gt; &lt;p&gt; &lt;p&gt;4.&amp;nbsp; On the Reports Virtual Directory, add the ADFS ISAPI extension (c:\windows\system32\ifsext.dll) &lt;blockquote&gt; &lt;p&gt;a. Properties of Reports Virtual Directory in IIS Manager &lt;p&gt;b. Configuration button on the Virtual Directory tab &lt;p&gt;c. Type in or browse to c:\windows\system32\ifsext.dll &lt;p&gt;d. &lt;b&gt;deselect &lt;/b&gt;the checkbox labeled “Verify file exists” &lt;p&gt;e.&amp;nbsp;Choose Insert&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;img height="803" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image012.jpg" width="478"&gt; &lt;p&gt;5. Verify the Directory Security Permissions are set to anonymous on the Reports Directory &lt;p&gt;&lt;img height="524" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image014.jpg" width="480"&gt; &lt;p&gt;6. Repeat steps 4 and 5 on the ReportServer Virtual Directory. When adding IFSEXT.DLL to the Application Wildcard Maps area – you must choose “Move Up” to ensure it is at the top of the list. The 2.0 Framework ISAPI is present on the ReportServer virtual directory, but not on Reports. &lt;p&gt;This means that the Reports directory will only have IFSEXT.DLL specified, but the ReportServer directory will have IFSEXT.DLL specified first, then ASPNET_ISAPI.DLL listed second. Again – it is crucial that the “Verify File Exists” checkbox is &lt;b&gt;NOT&lt;/b&gt; selected. &lt;p&gt;&lt;img height="444" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image016.jpg" width="402"&gt; &lt;p&gt;7.&amp;nbsp; Modify the RSWebApplication.config file located at c:\program files\Microsoft SQL Server\MSSQL.1\Reporting Services\ReportManager and modify/add&amp;nbsp;the following lines &lt;p&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;ReportServerUrl&amp;gt;&lt;/font&gt;&lt;a href="https://srs.treyresearch.net/ReportServer&amp;lt;/ReportServerUrl"&gt;&lt;font face="Courier" size="2"&gt;https://srs.treyresearch.net/ReportServer&amp;lt;/ReportServerUrl&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier" size="2"&gt;&amp;gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;CustomAuthenticationUI&amp;gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;PassThroughCookies&amp;gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;PassThroughCookie&amp;gt;_WebSsoAuth&amp;lt;/PassThroughCookie&amp;gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;PassThroughCookie&amp;gt;_WebSsoAuth0&amp;lt;/PassThroughCookie&amp;gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;/PassThroughCookies&amp;gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Courier" size="2"&gt;&amp;lt;/CustomAuthenticationUI&amp;gt;&lt;/font&gt; &lt;p&gt;The file should look like this: &lt;p&gt;&lt;img height="393" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image018.jpg" width="624" border="0"&gt; &lt;p&gt;More information on the RSWebApplication.config settings can be found here: &lt;p&gt;Configuring Report Manager to Pass Custom Authentication Cookies&amp;nbsp;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms345241.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms345241.aspx&lt;/a&gt; &lt;p&gt;8.&amp;nbsp; Since the ADFS Token based agent writes an Local impersonation NT Token, you cannot impersonate user credentials to access the SQL database residing on a different machine than SSRS &lt;blockquote&gt; &lt;p&gt;a. In SSRS Configuration Manager, go to the Database Setup section and specify an account to be used to contact the SQL database.&amp;nbsp; You many use Windows Credentials or SQL Credentials here&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;img height="467" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/ConfiguringSQLReportingServicestouseADFS_FAE4/clip_image020.jpg" width="624" border="0"&gt;&lt;/p&gt; &lt;p&gt;9. Test accessing the ReportServer and Reports with ADFS enabled. You must use the FQDN in the address – i.e. &lt;a href="https://srs.treyreserach.net/Reports"&gt;https://srs.treyreserach.net/Reports&lt;/a&gt; or &lt;a href="https://srs.treyresearch.net/ReportServer"&gt;https://srs.treyresearch.net/ReportServer&lt;/a&gt; &lt;blockquote&gt; &lt;p&gt;a. &lt;a href="http://srs/Reports"&gt;http://srs/Reports&lt;/a&gt; will no longer work as it did under Windows Integrated Auth. You must use the URL specified on the ADFS Web Agent tab and in ADFS.MSC.&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=902423" width="1" height="1"&gt;</description></item><item><title>IFSEXT.DLL and the dialog box that is so very WRONG</title><link>http://blogs.technet.com/b/adfs/archive/2007/04/26/ifsext-dll-and-the-dialog-box-that-is-so-very-wrong.aspx</link><pubDate>Fri, 27 Apr 2007 03:21:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:829443</guid><dc:creator>jimsim</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=829443</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/04/26/ifsext-dll-and-the-dialog-box-that-is-so-very-wrong.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ifsext.dll is the ADFS ISAPI used by the Token based Web Agent...We have seen issues before where we either need to add this manually or move it to the top of the list on the application config section of IIS. 
&lt;P&gt;Once you go the properties of a web site, the Virtual Directory tab has a button labeled Configuration. 
&lt;P&gt;The bottom section of the dialog has a box that is labeled Wildcard application maps (order of implementation).&amp;nbsp; This is where you may need to insert the ifsext.dll file.&amp;nbsp; When you do this - the box below is presented and you can browse&amp;nbsp;to the needed file.&amp;nbsp; 
&lt;P&gt;For ADFS - this file must be at the top of the list.&amp;nbsp; Using the token based applications for SharePoint 2007 - this is a common "gotcha" - the ifsext.dll is below the Framework 2.0 ISAPI.&amp;nbsp; After setting everything up - you get an "access denied" error message from the site even though you have the proper group SID according to the ADFS logs and you have added that group to SharePoint permissions. Once you move the ifsext.dll to the top - everything works as expected.&amp;nbsp; I used to think that was a whipping - not anymore... 
&lt;P&gt;The dialog that is wrong - so very very wrong, is the part that says “Verify that file exists” 
&lt;P&gt;&lt;IMG height=456 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/IFSE.DLLandthedialogboxthatissoveryWRONG_11022/clip_image002.jpg" width=471 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/IFSE.DLLandthedialogboxthatissoveryWRONG_11022/clip_image002.jpg"&gt; 
&lt;P&gt;What would you think this means? I can tell you that I thought it meant - verify the .dll file placed in here actually exist before you say OK. 
&lt;P&gt;Well – that is NOT what it means… 
&lt;P&gt;From the IIS Documentation: 
&lt;P&gt;Add/Edit Application Extension Mapping (for Wildcard Application Maps) 
&lt;P&gt;&lt;I&gt;Executable&lt;/I&gt; 
&lt;P&gt;&lt;I&gt;Type the name of the executable file (.exe or .dll). The executable file must be located on your Web server's local hard disk.&lt;/I&gt; 
&lt;P&gt;&lt;I&gt;Browse&lt;/I&gt; 
&lt;P&gt;&lt;I&gt;Click to locate your Web server's local hard disk for the ISAPI application.&lt;/I&gt; 
&lt;P&gt;&lt;B&gt;&lt;I&gt;Verify that file exists&lt;/I&gt;&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;I&gt;Select Verify that file exists to instruct the Web server to verify the existence of the requested script file and to ensure that the requesting user has access permission for that script file. If the script does not exist or the user does not have permission, the appropriate warning message is returned to the browser and the script engine is not invoked. This option can be useful for scripts mapped to non-CGI executables, such as the Perl interpreter, that do not send a CGI response if the script is not accessible. Because the script must be opened twice, once by the server and once by the script engine, enabling this option can impact performance&lt;/I&gt;.&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;WOW! The fact is that if the file doesn’t exist in the location you specified – you will get an error either way. 
&lt;P&gt;I mentioned a future blog on SQL Reporting Services and that is still going to happen. 
&lt;P&gt;After just understanding this after several hours of troubleshooting by many different people - I felt I had to quickly write about it. 
&lt;P&gt;Having this box checked on the reportserver directory will make it so a report will never render if the toolbar is enabled. The request for /ReportServer/Reserved.ReportViewerWebControl.axd does not exist in the ReportServer directory. &lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=829443" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/Troubleshooting/">Troubleshooting</category></item><item><title>Setting up an ADFS environment - Part 2</title><link>http://blogs.technet.com/b/adfs/archive/2007/04/25/setting-up-an-adfs-environment-part-2.aspx</link><pubDate>Thu, 26 Apr 2007 03:51:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:823247</guid><dc:creator>jimsim</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=823247</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/04/25/setting-up-an-adfs-environment-part-2.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This blog will build on my previous blog and walk you through the steps to getting your lab up and running. 
&lt;P&gt;Let’s start on the Account side and install the Federation Server Service. Select add/remove programs, windows components, details of Active Directory Federated Services, then check the Federation Server checkbox 
&lt;P&gt;&lt;IMG height=457 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image002.jpg" width=624 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image002.jpg"&gt; 
&lt;P&gt;Setup does a check to make sure SSL has been enabled on the web site, then it will prompt you to select a token signing certificate and select an Trust Policy or create a new one. 
&lt;P&gt;&lt;IMG height=406 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image004.jpg" width=501 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image004.jpg"&gt; 
&lt;P&gt;Instead of having setup create a self-signed token signing certificate (the default) – Choose “Select token-signing certificate” and hit the Select button 
&lt;P&gt;&lt;IMG height=454 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image006.jpg" width=624 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image006.jpg"&gt; 
&lt;P&gt;The select certificate dialog appears and displays the local computer personal certificate store. The Token signing certificate you downloaded and installed previously will be listed along with your SSL certificate for IIS. Choose the token signing certificate and complete the installation. 
&lt;P&gt;Repeat these steps on ADFSRESOURCE (the FS-R) and get it to same place. 
&lt;P&gt;Launch the ADFS snap-in (start/run/adfs.msc – or find it in the administrative tools folder). On both servers, we should now have the Federation Service installed and ready to begin the process of creating a Federation trust between the organizations. 
&lt;P&gt;I will start the configuration on the FS-A again and configure the information to reflect Adatum. 
&lt;P&gt;Right click on the Trust Policy node and choose properties. The general tab has two items of information which we will fill in to reflect “My Organization” 
&lt;P&gt;I recommend that you make all entries in lower case and keep the URI something short and meaningful. 
&lt;P&gt;Change the Federation Service URI to urn:federation:adatum 
&lt;P&gt;Change the Federation Service URL to &lt;A href="https://adfsaccount.adatum.com/adfs/ls/" mce_href="https://adfsaccount.adatum.com/adfs/ls/"&gt;https://adfsaccount.adatum.com/adfs/ls/&lt;/A&gt; 
&lt;P&gt;&lt;IMG height=596 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image008.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image008.jpg"&gt; 
&lt;P&gt;The display name tab can be changed if you wish. If you review the Verification Certificate tab, you will notice the same Token Signing Certificate you selected at setup is present. Each Federation Server will have a Token Signing certificate and this certificate will automatically be added to the list of verification certificates on the Trust Policy level. 
&lt;P&gt;Switch to the Resource side and perform the same steps on the FS-R. Populate it with the following information: 
&lt;P&gt;Change the Federation Service URI to urn:federation:treyresearch 
&lt;P&gt;Change the Federation Service URL to &lt;A href="https://adfsresource.treyresearch.net/adfs/ls/" mce_href="https://adfsresource.treyresearch.net/adfs/ls/"&gt;https://adfsresource.treyresearch.net/adfs/ls/&lt;/A&gt; 
&lt;P&gt;The next step is to configure an Account Store on the FS-A 
&lt;P&gt;On your FS-A, right click on the Account Stores node under My Organization and choose New – Account Store. This will launch the Add Account Store Wizard. This lab example will use an Active Directory Account Store (ADAM as an account store is worthy of a different blog) 
&lt;P&gt;&lt;IMG height=596 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image010.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image010.jpg"&gt; 
&lt;P&gt;There isn’t any configuration left to do here so just hit next and complete the wizard. 
&lt;P&gt;We are now ready to complete the federation trust by using the import/export feature. I recommend you use this feature as it will eliminate any typo’s or mismatches that are common to initial installations of ADFS. 
&lt;P&gt;Start on the FS-A and right click the Trust Policy Node – choose Export Policy from the menu. I’m going to put it in my c:\certs folder (I know it’s not a certificate – just trying to keep things organized) and name it something descriptive. 
&lt;P&gt;&lt;IMG height=597 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image012.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image012.jpg"&gt; 
&lt;P&gt;Notice the description of the Export Generic Partner Policy dialog – it tells you the following information is contained in the file: 
&lt;P&gt;Display Name, URL, URI, and Verification Certificate 
&lt;P&gt;It’s not a ton of information and it won’t help you import any claims you may configure (we will have to wait for the next version to get more options on import/export). But this does ensure the correct certificate is brought over and also URI and URL are usual suspects when initial setup doesn’t work. It really is a better way to go. 
&lt;P&gt;Repeat the export process on the FS-R and then copy each export file to the partner machine. The FS-A should have the “Treyresearch-FS-R export file.xml” and the FS-R should have the “Adatum-FS-A export file.xml” locally 
&lt;P&gt;On the account side (FS-A) , expand and right click and choose new – resource partner. The Add Resource Partners wizard appears. The first page gives the option to import a Parnter interoperability policy file 
&lt;P&gt;&lt;IMG height=595 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image014.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image014.jpg"&gt; 
&lt;P&gt;On the next page – choose Federated Web SSO 
&lt;P&gt;&lt;IMG height=597 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image016.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image016.jpg"&gt; 
&lt;P&gt;Notice how you have two options – Federated Web SSO and Federated Web SSO with Forest Trust. There are three scenarios you can setup ADFS in. Federated Web SSO, Federated Web SSO, and Web SSO. The WebSSO scenario would only involve a single company – therefore, you would never add a partner in this scenario. 
&lt;P&gt;Next – select UPN as the identity claim you wish to send (these can be changed later – for now, just choose UPN) 
&lt;P&gt;&lt;IMG height=595 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image018.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image018.jpg"&gt; 
&lt;P&gt;Let’s pass all UPN suffixes unchanged to the partner (again, we can change this later) 
&lt;P&gt;&lt;IMG height=596 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image020.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image020.jpg"&gt; 
&lt;P&gt;Keep the default to enable this partner and finish the wizard. Your account side ADFS snap-in should look like this: 
&lt;P&gt;&lt;IMG height=545 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image022.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image022.jpg"&gt; 
&lt;P&gt;Now – we will visit the Resource side (FS-R) and import the account partner with the file we copied over earlier. 
&lt;P&gt;Right click the Account Partner node under Partner Organizations and choose New – this will launch the Add Account Partner Wizard. Browse to the export file on when prompted. 
&lt;P&gt;&lt;IMG height=428 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image024.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image024.jpg"&gt; 
&lt;P&gt;Again – choose Federated Web SSO as the scenario 
&lt;P&gt;&lt;IMG height=433 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image026.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image026.jpg"&gt; 
&lt;P&gt;&lt;IMG height=434 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image028.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image028.jpg"&gt; 
&lt;P&gt;On the Accepted UPN suffix tab – we will enter adatum.com and choose add 
&lt;P&gt;&lt;IMG height=489 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image030.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image030.jpg"&gt; 
&lt;P&gt;Choose next, enable the application, and complete the wizard. Your ADFS snap-in on the Resource side should look like this: 
&lt;P&gt;&lt;IMG height=484 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image032.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSenvironmentPart2_1172C/clip_image032.jpg"&gt; 
&lt;P&gt;At this stage we have the Federation Trust established between the two organizations. Our next task is to configure an application on the resource side and “federate it” to users on the account side. 
&lt;P&gt;I know I said that I would do this in two steps – but this document has been just sitting here for quite some time - Part 3 (later) will wrap it up with the application installation/configuration. 
&lt;P&gt;The federation trust between partners is now established – the rest is fairly easy. 
&lt;P&gt;The reason I’m stopping here and posting this – is mainly to clear the way for a new project (which is almost fully understood!) 
&lt;P&gt;I will get the steps needed to setup/configure SQL Reporting Services and use ADFS on the SSRS site. We have been heads down on this for a while now – and today we finally made some real progress! 
&lt;P&gt;Since my lab environment is already setup – I can get some screen shots and show you all the places to go to install/configure this.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=823247" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/Installation_2D00_How+to/">Installation-How to</category></item><item><title>Setting up an ADFS lab environment - Part 1</title><link>http://blogs.technet.com/b/adfs/archive/2007/02/26/setting-up-an-adfs-lab-environment-part-1.aspx</link><pubDate>Mon, 26 Feb 2007 16:54:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:663141</guid><dc:creator>jimsim</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=663141</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/02/26/setting-up-an-adfs-lab-environment-part-1.aspx#comments</comments><description>&lt;P&gt;In this blog, I’ll go though the PKI portion of setting up Trey Research and Adatum. While you can do this a number of different ways – I always setup and use a Standalone CA instead of generating self-signed certificates. &lt;/P&gt;
&lt;P&gt;In my opinion, setting up a new CA (or making an existing lab box a CA) is faster in the long run than using self signed certificates. Also, it offers a better user experience for testing. Self signed certificates should NEVER be used for production systems.&lt;/P&gt;
&lt;P&gt;Often, people will start with self signed, then change to CA issued certs and then generate a huge mess in the ADFS snap-in and in the certificate stores. When you get into this mess, you will find yourself looking&amp;nbsp;through the thumbprint of&amp;nbsp;different certificates to find the right one.&amp;nbsp;&amp;nbsp; If you lab setup will eventually be turned into your production environment, then do yourself a favor and setup the certificates the right way from the start. 
&lt;P&gt;I’ll start with the initial lab setup and end this blog at the completion of the certificate portion of the setup. Then do a part 2 blog that completes the FS setup with a sample application (the blog&amp;nbsp;application)&amp;nbsp;and a couple claims. 
&lt;P&gt;I know &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=062F7382-A82F-4428-9BBD-A103B9F27654&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=062F7382-A82F-4428-9BBD-A103B9F27654&amp;amp;displaylang=en"&gt;Nick’s step by step&lt;/A&gt; get’s you to the same place, but I think the PKI differences along with the order of steps I take you through are worthy enough to blog about and will help people get a good test environment up and running in short order.&amp;nbsp;&amp;nbsp;Performing the steps in my order makes the setup more logical to me - guess that's why it's "my order" 
&lt;P&gt;One last note on this...I've worked with a number of customers who had trouble setting up the step by step and getting it to work.&amp;nbsp; In almost all cases - the problem was that they deviated from the guide.&amp;nbsp; Sometimes - not doing something as it says in the step-by-step guide (or changing it around) matters, sometimes not.&amp;nbsp; 
&lt;P&gt;I will try to stop at certain checkpoints and explain what we have done and why we did it.&amp;nbsp; 
&lt;P&gt;Here’s my method (using Virtual Machines): 
&lt;P&gt;1. Build a R2 Enterprise Virtual Machine and install IIS, ASP, .NET 2.0 Framework.&amp;nbsp; Put the support tools and resource kit on it… BGINFO that puts the IP / Machine name info on your wallpaper is handy as well. Another suggestion would be to install TextPad or some other file editor that can look at .xml files and display debug log files better than notepad.&amp;nbsp; Get that&amp;nbsp;server just how you like it – then run sysprep on it and copy the .vhd file off to use as the base image for the rest of your setup. 
&lt;P&gt;2. Create&amp;nbsp;two single dc forests - name them what you like, but as I've said in the past, my lab walkthoughs will always use Adatum and TreyResearch.&amp;nbsp; You may choose to set things up with Account.com and Resource.com – whatever works for you. Here are&amp;nbsp;full machine names for the machines we will be installing certificates – if you have different names – you can map them to mine for the rest of the guide. 
&lt;P&gt;&amp;nbsp;&amp;nbsp; a.&amp;nbsp;&amp;nbsp;Adfsaccount.adatum.com - Domain controller and Federation Server for Adatum.com&amp;nbsp; (FS-A) 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;b.&amp;nbsp; Adfsresource.treyresearch.net - Domain controller and Federation Server for Treyresearch.net&amp;nbsp; (FS-R) 
&lt;P&gt;&amp;nbsp;&amp;nbsp; c.&amp;nbsp; Adfsweb.treyresearch.net - Web server in the Treyresearch forest.&amp;nbsp; (WS) 
&lt;P&gt;&amp;nbsp;&amp;nbsp; d.&amp;nbsp; Adfsclient.adatum.com - XP client in Adatum - used to test the user experience 
&lt;P&gt;3.&amp;nbsp; Install and join an XP client to the Adatum forest 
&lt;P&gt;4.&amp;nbsp; Install (or add the service to an existing machine) a stand-alone certificate authority.&amp;nbsp; You can name it something creative like "StandaloneCA" - doesn't really matter 
&lt;P&gt;5.&amp;nbsp; Configure DNS forwarders so both all machines can resolve adatum.com and&amp;nbsp;treyresearch.net machine&amp;nbsp;names 
&lt;P&gt;6.&amp;nbsp; Install SSL certificates on the default web site of the FS-A, FS-R, and WS 
&lt;P&gt;7.&amp;nbsp; Install the Certificate Authority CA chain in the Trusted Root store of FS-A, FS-R, WS, and the XP client 
&lt;P&gt;8.&amp;nbsp; Install a Token Signing certificate on the FS-A and FS-R in the local computer store of your FS/DC machines 
&lt;P&gt;Let's get started... 
&lt;P&gt;At this point, you should have the forests established, name resolution configured, and the domain controllers/federation servers and the Web Server should already have IIS/Framework 2.0&amp;nbsp;installed.&amp;nbsp;&amp;nbsp; 
&lt;P&gt;The first order of business is to install a SSL certificate on the default web site&amp;nbsp;of all of the servers. I like to create a directory called c:\certs on each machine while setting things up.&amp;nbsp; There will be certificate request files, certificate files, then export of certificates copied to other machines, etc.&amp;nbsp; by the time we are all done. 
&lt;P&gt;It's easier/cleaner than tossing random cert files on your desktop or the root of the c: drive. 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;SSL Certificates&lt;/B&gt; 
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;
&lt;P&gt;Start by adding an SSL certificate to the default web site of each machine.&amp;nbsp;&amp;nbsp; Launch the IIS Certificate wizard by going to Properties of&amp;nbsp;Default Web Site - Directory Security tab - Server Certificate 
&lt;P&gt;When going through the IIS Certificate wizard&amp;nbsp; – pay attention to the Common Name page. It defaults to just your computer name and we need to change this to the FQDN of the computer. 
&lt;P&gt;&lt;IMG height=362 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image002.jpg" width=481 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image002.jpg"&gt; 
&lt;P&gt;Change it to reflect the FQDN 
&lt;P&gt;&lt;IMG height=362 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image004.jpg" width=482 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image004.jpg"&gt; 
&lt;P&gt;When you have finished the wizard, save the request file in the c:\certs folder 
&lt;P&gt;&lt;IMG height=360 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image006.jpg" width=480 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image006.jpg"&gt; 
&lt;P&gt;Next step is to launch a browser from this machine and go to &lt;A href="http://certicate-authority-name/certsrv" mce_href="http://certicate-authority-name/certsrv"&gt;http://certicate-authority-name/certsrv&lt;/A&gt; to access the certificate services web page. Choose Request a Certificate, then Advanced Certificate Request 
&lt;P&gt;&lt;IMG height=688 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image008.jpg" width=625 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image008.jpg"&gt; 
&lt;P&gt;Choose “Submit a request by using a base-64…” 
&lt;P&gt;&lt;IMG height=693 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image010.jpg" width=625 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image010.jpg"&gt; 
&lt;P&gt;Next – paste the contents of the certreq.txt file you created when running though the Server Certificate Wizard in IIS. 
&lt;P&gt;&lt;IMG height=688 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image012.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image012.jpg"&gt; 
&lt;P&gt;Once completed, go to your CA machine and issue the pending request from the Certificate Authority snap-in tool 
&lt;P&gt;&lt;IMG height=434 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image014.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image014.jpg"&gt; 
&lt;P&gt;Back at server where you are installing the SSL certificate - from the main page on the certsrv website, you can choose “View the status of a pending certificate request” 
&lt;P&gt;Download the certnew.cer file and save it to your c:\certs folder as certnew-ssl.cer so you can keep track of what this certificate is for. 
&lt;P&gt;&lt;IMG height=691 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image016.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image016.jpg"&gt; 
&lt;P&gt;We are now ready to go back to IIS and install the certificate.&amp;nbsp; If you go to properties - directory security tab - server certificate - you will get this dialog 
&lt;P&gt;&lt;IMG height=358 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image018.jpg" width=481 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image018.jpg"&gt; 
&lt;P&gt;Complete the wizard by selecting the certnew-ssl.cer file you obtained in the previous step. 
&lt;P&gt;&lt;STRONG&gt;Install the CA Certificate Chain&lt;/STRONG&gt; 
&lt;P&gt;After installing a SSL certificate on the Default Web Site, the next step will be to install the CA certificate in the Trusted Root Store of the local machine. 
&lt;P&gt;From the main certsrv page, choose “Download a CA certificate, certificate chain, or CRL” 
&lt;P&gt;Select “Download CA certificate chain” towards the bottom and save the file to your c:\certs folder. 
&lt;P&gt;&lt;IMG height=686 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image020.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image020.jpg"&gt; 
&lt;P&gt;NOTE: If you choose “Install this CA certificate chain”&amp;nbsp;link at the top of this&amp;nbsp;page – it will install to the&amp;nbsp;local users trusted root store which isn’t what we want – we need this in the &lt;EM&gt;local computer&lt;/EM&gt; trusted root store. 
&lt;P&gt;Launch a MMC and add the certificates snap-in – choose local computer. 
&lt;P&gt;Right click certificates folder under Trusted Root – all tasks – import. Then browse to the chain file you downloaded in the previous step. After doing this, you should see your CA listed in this folder. 
&lt;P&gt;&lt;IMG height=497 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image022.jpg" width=623 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image022.jpg"&gt; 
&lt;P&gt;At this point, we have installed a SSL Server Authentication Certificate on the default web site and installed the CA chain in the local computer Trusted Root store. These steps should be repeated on the other Federation Server, the Web Server, and your XP client 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;Install the Token Signing Certificate&lt;/B&gt; 
&lt;P&gt;The next step will be installing a certificate to the local computer store which will be used for the ADFS Token Signing certificate. The token signing certificate can be any type (there is no EKU requirement for the TS certificate) and we don’t have to worry about the “issued to” name like we did with the SSL certificate. 
&lt;P&gt;From the main certsrv web page choose Request a certificate – advanced certificate request – create and submit a request to this CA 
&lt;P&gt;I change the type of certificate needed to Code Signing Certificate (but the type doesn't really matter). Select the checkbox to “store in the local computer store” to save a step later.&amp;nbsp; Everything else can be left at the default. 
&lt;P&gt;Also – give this certificate a descriptive name in the friendly name field – we will want to differentiate this cert from our SSL cert at a glance. 
&lt;P&gt;&lt;IMG height=691 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image024.jpg" width=624 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image024.jpg"&gt; 
&lt;P&gt;Complete the request, then issue the pending request from the from the CA the same way we did for the SSL certificate, then take the browser back to “check the status of a pending request” 
&lt;P&gt;Now you can install this certificate to your local machine store by selecting “Install this certificate” 
&lt;P&gt;&lt;IMG height=694 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image026.jpg" width=623 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image026.jpg"&gt; 
&lt;P&gt;The FS-A and FS-R local computer computer store should look something like this 
&lt;P&gt;&lt;IMG height=476 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image002%5B1%5D.jpg" width=624 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/SettingupanADFSlabenvironment_F88/clip_image002%5B1%5D.jpg"&gt; 
&lt;P&gt;Remember – you will need 5 certificates in this&amp;nbsp;setup example – 3 SSL certificates (adfsweb, adfsaccount, and adfsresource) and 2 token signing certificates (adfsaccount and adfsresource) installed in the local computer store.&amp;nbsp; The Certificate CA Chain should be installed on every machine (client, FS, and WS) in the lab environment. 
&lt;P&gt;If you give some attention to detail on these steps - the rest of the setup will be much easier and you will get things working much faster at initial setup. 
&lt;P&gt;This completes the PKI portion and we are now ready to start the ADFS installation and configure the federation servers.&amp;nbsp; I'll finish the part 2 blog that covers the remainder of the setup soon. &lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=663141" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/Installation_2D00_How+to/">Installation-How to</category></item><item><title>MS Virtual Lab - A PKI troubleshooting exercise</title><link>http://blogs.technet.com/b/adfs/archive/2007/02/25/ms-virtual-lab-a-pki-troubleshooting-exercise.aspx</link><pubDate>Sun, 25 Feb 2007 19:11:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:661963</guid><dc:creator>jimsim</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=661963</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/02/25/ms-virtual-lab-a-pki-troubleshooting-exercise.aspx#comments</comments><description>&lt;P&gt;I&amp;nbsp;was going through some old items and came across this&lt;A class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032294467&amp;amp;EventCategory=3&amp;amp;culture=en-US&amp;amp;CountryCode=US" target=_blank mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032294467&amp;amp;EventCategory=3&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt; link&lt;/A&gt; for an on-line ADFS lab.&amp;nbsp; I decided to run through the lab (takes about an hour).&amp;nbsp; There are problems with it.&amp;nbsp; The title of this blog tells you what these problems are.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I can tell it's an old lab, the manual tells you to enter the federation server url like:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://adfsserver.treyresearch.com/adfs/ls/clientlogon.aspx"&gt;https://adfsserver.treyresearch.com/adfs/ls/clientlogon.aspx&lt;/A&gt;&amp;nbsp; - specifying the clientlogon.aspx file was how things were done up until beta 3 of R2 if I remember correctly.&lt;/P&gt;
&lt;P&gt;You can get it working (just look around and get creative with the certs)&lt;/P&gt;
&lt;P&gt;If&amp;nbsp;you want some practice working with certificates used in ADFS - then you should check it out.&lt;/P&gt;
&lt;P&gt;I submitted feedback and will try to locate who controls this content - but it will most likely be up there and in this condition for a while.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The online lab is a cool idea - too bad this is the only one I can find (and it's broken)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=661963" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/Troubleshooting/">Troubleshooting</category></item><item><title>The NT Token Cache</title><link>http://blogs.technet.com/b/adfs/archive/2007/02/24/the-nt-token-cache.aspx</link><pubDate>Sat, 24 Feb 2007 23:20:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:661259</guid><dc:creator>jimsim</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=661259</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/02/24/the-nt-token-cache.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;The NT Token cache on the web server – Maybe you didn’t know this even existed…&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;Consider this scenario:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;You are setting up ADFS in a federated scenario with SharePoint configured as a token based application.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;The initial setup has miscellaneous configuration errors that you correct along the way. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;You test again and find some more configuration issues further down the line.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Each time you correct something – you try to get to the web site with your client machine and your test account.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Each time – you are getting closer and closer.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;Sound familiar?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;You finally make it to the SharePoint page and you are happy…No errors from the Federation Servers and things went as expected.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Maybe not 100% the way you expected – but you just need to make some minor changes with the SharePoint permissions, then you are ready to test out some different claims and other items you have on your list.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;OK – careful right here.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Something happened under the hood here – and it’s important!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;Let’s talk about what just happened when you finally made it to SharePoint error free.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The ADFS token based web agent wrote a NT token on the web server and this user (identified by their identity claim) will find and use this same token on subsequent requests to applications on this box for the next 60 minutes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;See where you can run into trouble during initial setup and testing?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Let's continue with this example…&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;Let's assume that when you first accessed the site (successfully) – you had a UPN identity claim and Group Claim A (which mapped to Windows Group A).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The agent wrote a token with the SID of Windows Group A on the web server.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You then realize you need to test Group Claim B which is associated with Windows Group B.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;You take all the correct steps necessary – add him to a different group on the account side, log off/log on, test again.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Hmmm – you are still getting the permissions associated with Group Claim/Windows Group A.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;You start checking your configuration - looking at logs – you see the Group claim B getting passed as it should from the FS-A to the FS-R – but when the user gets to the Web Server – you don’t have the permissions you associated with group claim B.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;Now the doubt starts to creep in…Just when you thought you had the hang of this claim thing ;)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;You check/double/triple check your configuration – maybe you configure group claim C – same thing!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;What changed you ask yourself? Trying a different user on the account side probably never occurred to you (I know it never does to me when I’m in this place). &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;Hopefully you read this (and remember about the NT Token Cache) before you spin your wheels too long with a scenario as I described here.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;The example I gave above is not the only way you can get in trouble here – It’s just one of the ways.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;If you &lt;/FONT&gt;&lt;A href="http://technet2.microsoft.com/WindowsServer/en/library/be269715-1ba8-4df4-abc8-7b3128b4fa4e1033.mspx" mce_href="http://technet2.microsoft.com/WindowsServer/en/library/be269715-1ba8-4df4-abc8-7b3128b4fa4e1033.mspx"&gt;&lt;FONT face=Calibri color=#800080&gt;enable debug logging&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; on the web server, you will see a message indicating that a cache entry has been found&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;When &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;you are in the lab and are going to be making changes, testing, then more changes, and more testing – You may want to consider reducing the CacheEntryLifetime to the minimum (1 minute) &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;from the default (60 minutes).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;To do this – add the following registry values to the web server at this location:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;HKLM\System\CCS\Control\LSA\WebSSO\Parameters &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;CacheEntryLifetime – dword – 60 decimal&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;CacheScavengeInterval – dword – 60 decimal&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;Reboot the server for these changes to take effect.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;Now – you can continue your testing without hitting this type of problem. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Keep in mind – this is for lab environments only.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I have no idea what this would do to a busy production web server from a performance standpoint.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;A complete list of all the cache settings is located &lt;/FONT&gt;&lt;A href="http://technet2.microsoft.com/WindowsServer/en/library/b6b99bb9-9b3e-4edd-8d91-013658ef25e81033.mspx" mce_href="http://technet2.microsoft.com/WindowsServer/en/library/b6b99bb9-9b3e-4edd-8d91-013658ef25e81033.mspx"&gt;&lt;FONT face=Calibri&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;This blog certainly raises some questions (for me anyway) - when I tried to test things to verify and provide more detailed information, I got into a major rat hole…&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;I’ll follow up with more detailed information like:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in" type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;How the debug logs look – how to verify this is what you are hitting&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;Shadow account existence – and the account partner “ resource account” setting&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;I think&amp;nbsp;more detailed items on the subject are needed here.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I’m going to put this out for now and build on it later.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.25in"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=661259" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/Troubleshooting/">Troubleshooting</category></item><item><title>Understanding Organizational Group Claims</title><link>http://blogs.technet.com/b/adfs/archive/2007/02/22/understanding-organizational-group-claims.aspx</link><pubDate>Thu, 22 Feb 2007 17:19:28 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:657870</guid><dc:creator>jimsim</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=657870</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/02/22/understanding-organizational-group-claims.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;I created a list of topics last night that I think will be useful to put up here…Going in any kind of order will be too tough for me (lazy) and I’m afraid it would slow down my blog production. Please let me know if you would like to see something specific. Otherwise, I’ll just try to keep putting stuff up in random order. &lt;p&gt;If you aren’t familiar with Claims in ADFS – I’d suggest &lt;a href="http://technet2.microsoft.com/WindowsServer/en/library/a4ed50a7-dbbc-4d01-898f-f90de19b82531033.mspx"&gt;this&lt;/a&gt; short read on TechNet before going any further. As you will find with most of my blogs – it will be helpful to get Nick’s &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=062f7382-a82f-4428-9bbd-a103b9f27654&amp;amp;displaylang=en"&gt;step-by-step&lt;/a&gt; up and running so you can follow along. &lt;p&gt;In this doc, I’ll go through the steps to create an Organizational Group Claim and map it from the Account Partner to the Resource Partner and then send it to an application. &lt;p&gt;While this information may not be useful/interesting for everyone, I find myself going through it with several people I talk to about ADFS. Most people have it down about 90% of the way – but aren’t super crisp on all the steps and why you take them. I’ll follow this up with a more in-depth blog which discusses all three claim types with some real world examples of how things should be setup. Custom claims and how you use them is just one item that could certainly use some further explanation. I didn’t understand claims 100% myself for a very long time (maybe I still don’t – but I think I can fake it now). &lt;p&gt;There isn’t a right or wrong way with the order in which you do this (other than the Organizational Claim must be created first on both sides), so I’ll just tell you my way. &lt;p&gt;The steps I take are as follows: &lt;p&gt;&amp;nbsp; &lt;p&gt;Start on the Account Partner &lt;p&gt;1. Create Organizational Group Claim on the Account Side &lt;p&gt;2. Right click the account store and do a new Group Claim Extraction &lt;p&gt;3. Right click the resource partner and do a new Outgoing Group Claim Mapping &lt;p&gt;&amp;nbsp; &lt;p&gt;Next – go to the Resource Partner &lt;p&gt;&amp;nbsp; &lt;p&gt;1. Create an Organizational Group Claim and associate it with a Windows Security Group on the resource group tab &lt;p&gt;2. Right click the account partner and choose New Incoming Group Claim Mapping  &lt;p&gt;3. Highlight the application in which you want to receive this claim and choose enable &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;There are a couple things to help you remember this – &lt;p&gt;1. You need to visit/configure the claim in three places on each side &lt;p&gt;2. The above order is very similar to how the claim flows when a user access an app &lt;p&gt;A very common error I see is associating the claim with a Windows Group on the account side by using the resource group tab (like you do on the resource side). This is not correct – it won’t prevent it from working, but it is an unnecessary step. On the account side – the claim is associated to the Windows group via the group claim extraction (step 2) method. Since it’s the account side (no application) – we don’t need to associate the Group Claim to a Windows Group – we only need to extract the claim from the account store (another way to say this – we need to figure out which users get this claim) &lt;p&gt;&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;Let’s go through everything from start to finish and hopefully it will become clear. &lt;p&gt;1. Create Organizational Group Claim on the Account Side &lt;p&gt;&lt;img height="487" alt="C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/UnderstandingOrganizationalGroupClaims_74FD/clip_image002.jpg" width="581" border="0"&gt; &lt;p&gt;Notice the Resource Group tab doesn’t have anything configured &lt;p&gt;&lt;img height="469" alt="C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/UnderstandingOrganizationalGroupClaims_74FD/clip_image004.jpg" width="565" border="0"&gt; &lt;p&gt;2. Do a new group claim extraction from your account store. This is where you are saying – if you are a member of this Windows Group – I want you to have this Group Claim &lt;p&gt;&lt;img height="521" alt="C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/UnderstandingOrganizationalGroupClaims_74FD/clip_image006.jpg" width="624" border="0"&gt; &lt;p&gt;&lt;img height="524" alt="C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/UnderstandingOrganizationalGroupClaims_74FD/clip_image008.jpg" width="624" border="0"&gt; &lt;p&gt;3. Map the group claim by doing a new outgoing group claim mapping on the resource partner. The outgoing group claim name must match EXACTLY when we complete the steps on the resource partner. Personally, I use all lower case and hyphens to help minimize errors here. Also, think about what you name the mapping – you wouldn’t want to call this “example-outgoing-mapping” because that wouldn’t make sense when you type that name in on the resource side. On the resource side – it will be an incoming group claim mapping. This is just a tip to help keep things manageable – any name will work so long as they match on both sides. &lt;p&gt;&lt;img height="521" alt="C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/UnderstandingOrganizationalGroupClaims_74FD/clip_image010.jpg" width="624" border="0"&gt; &lt;p&gt;That’s it for the account side – now we go to the resource federation server to configure the rest of the claim mapping. &lt;p&gt;1. Create an Organizational Group Claim – it is important to note that this claim name doesn’t have to match the Group Claim name which we configured for the Account side. In fact – the name will be different in most cases. The name here should be something logical for the resource side administrator – imagine 200 or 300 group claims – you want the display name to mean something to you. &lt;p&gt;&lt;img height="529" alt="C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/UnderstandingOrganizationalGroupClaims_74FD/clip_image012.jpg" width="624" border="0"&gt; &lt;p&gt;Now – go to the resource group tab and associate a Windows Group to this claim. This is where you say – if a user comes to my application with this group claim – I want to associate it with this Windows Group. Typically, this group is empty. The Windows Group SID will be written to the web server (for token based apps) and the application will think that it’s a regular user with this group membership accessing it. &lt;p&gt;&lt;img height="528" alt="C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/UnderstandingOrganizationalGroupClaims_74FD/clip_image014.jpg" width="624" border="0"&gt; &lt;p&gt;2. Remember, you must have at least one Identity claim – then you can have one or more group or custom claims here. The one identity claim is the only rule that can’t be broken. Notice how all my claims show up when I highlight Blog Application – but only UPN identity claim and Resource Example Group claim are highlighted (enabled) &lt;p&gt;&lt;img height="484" alt="C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/UnderstandingOrganizationalGroupClaims_74FD/clip_image016.jpg" width="624" border="0"&gt; &lt;p&gt;3. Create the incoming group claim mapping from the account partner. Remember – we need to have an exact match on the claim mapping name. &lt;p&gt;&lt;img height="483" alt="C:\Users\jimsim\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/UnderstandingOrganizationalGroupClaims_74FD/clip_image018.jpg" width="624" border="0"&gt; &lt;p&gt;That’s it! We’ve completed setting up a group claim mapping for a federated WebSSO scenario.&amp;nbsp; &lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=657870" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/Claims/">Claims</category></item><item><title>Installing MOSS as a claims aware application in ADFS</title><link>http://blogs.technet.com/b/adfs/archive/2007/02/14/installing-moss-as-a-claims-aware-application-in-adfs.aspx</link><pubDate>Wed, 14 Feb 2007 23:22:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:642942</guid><dc:creator>jimsim</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=642942</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/02/14/installing-moss-as-a-claims-aware-application-in-adfs.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hi, this is Jim Simonet from the Enterprise Platform Support team and Steve Peschka from the SharePoint Ranger team. In this blog we’re going to talk about how to configure Active Directory Federated Services (ADFS) with SharePoint 2007. We have actually been working on this document for a few weeks now. The TechNet team has leveraged this document and will be publishing their content very soon. There are a few screen shots in this doc that couldn’t make it into the Technet document, also the format and order of steps will be slightly different. 
&lt;P&gt;Prior to beginning this blog, you should read a couple of related materials. They contain content that is too verbose to include here, but that will be valuable in helping you understand the concepts presented here. 
&lt;UL&gt;
&lt;LI&gt;Information about configuring the authentication provider in MOSS is &lt;A href="http://blogs.msdn.com/sharepoint/archive/2006/08/16/configuring-multiple-authentication-providers-for-sharepoint-2007.aspx" mce_href="http://blogs.msdn.com/sharepoint/archive/2006/08/16/configuring-multiple-authentication-providers-for-sharepoint-2007.aspx"&gt;here&lt;/A&gt;.&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;This install guide is built with server names from the Adatum-Trey Research &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=062f7382-a82f-4428-9bbd-a103b9f27654&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=062f7382-a82f-4428-9bbd-a103b9f27654&amp;amp;DisplayLang=en"&gt;step-by-step&lt;/A&gt; guide for setting up ADFS in a small lab environment. In this example a new server named Trey-MOSS was joined to the Treyresearch forest instead of using ADFSWEB as described in the step-by-step document. You will need to follow the steps in this step-by-step guide to configure your ADFS infrastructure. SharePoint 2007 is a claims-aware application though, so you don’t need to implement all of the steps for building NT token agent applications. The new server, Trey-MOSS will need to be Windows Server 2003 R2 (STD or ENT) and will need to have the Claims Aware Web Agent installed.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In addition, before you start you need to download and install a hotfix for ADFS. Without this hotfix, the information below will not work. You can find information about this hotfix at &lt;A href="http://support.microsoft.com/kb/920764/en-us" mce_href="http://support.microsoft.com/kb/920764/en-us"&gt;http://support.microsoft.com/kb/920764/en-us&lt;/A&gt;. 
&lt;P&gt;The steps in this blog will help you configure MOSS with the WebSSO provider. It is setup in a typical Extranet scenario that Steve discusses in his blog. 
&lt;P&gt;The site will exist in two zones – the default zone and an extranet zone. The same content will be in both, but the intranet zone will use the Windows Authentication Provider and the Extranet zone will use the WebSSO provider. 
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Install MOSS and successfully complete the Configuration Wizard&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;Launch Sharepoint Central Admin Site&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;From Application Management – choose Create or Extend Web Application, &lt;/B&gt;
&lt;LI&gt;&lt;B&gt;Choose Create a new web application. This is how the initial web application that uses Windows authentication will be created.&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;Complete the steps in the page by extending the existing IIS web site on port 80.&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;Choose Create or Extend Web Application again, this time choose Extend an existing Web Application&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;Choose the web application you previously created using Windows authentication to extend&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;Add a host header – this is the DNS name by which the site will be known to users in the Extranet (extranet.treyresearch.net) &lt;/B&gt;
&lt;LI&gt;&lt;B&gt;Change the zone to Extranet&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;Select the radio button that says “Use Secure Sockets Layer (SSL)”, and change the port number to 443. ADFS will only work with a site that is configured to use SSL.&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;Remove the “:443” text from the end of the “Load Balanced URL” edit box. IIS will automatically use port 443 since you specified the port number above.&lt;/B&gt; 
&lt;LI&gt;&lt;B&gt;Complete the rest of the steps in the page and finish extending the web application&lt;/B&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;If you look at the Alternate Access Mappings (AAM) page it should look something like this: 
&lt;P&gt;&lt;IMG height=420 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/InstallingMOSSasaclaimsawareapplicationi_CA2D/clip_image002.jpg" width=575 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/InstallingMOSSasaclaimsawareapplicationi_CA2D/clip_image002.jpg"&gt; 
&lt;P&gt;&lt;B&gt;Add an SSL certificate to the Extranet Web Site in IIS&lt;/B&gt;. Make sure this SSL certificate is issued to extranet.treyresearch.net – this is the name which will be used by the clients when accessing the sites. Here is an example of how the certificate looks: 
&lt;P&gt;&lt;IMG height=271 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/InstallingMOSSasaclaimsawareapplicationi_CA2D/clip_image004.jpg" width=361 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/InstallingMOSSasaclaimsawareapplicationi_CA2D/clip_image004.jpg"&gt; 
&lt;P&gt;At this point – you should have a web site extended to the Extranet zone, a SSL certificate installed, and the AAM should show both the default Windows authentication site URL and Extranet zone SSL site URL. 
&lt;P&gt;&lt;B&gt;Working with Groups&lt;/B&gt; 
&lt;P&gt;In SharePoint rights are typically provisioned using groups – Active Directory groups are added to SharePoint Site Groups. Those site groups have a set of permissions associated with them, so your membership in a given Active Directory and Site Group determines what rights you have within a site. 
&lt;P&gt;When you use ADFS as a role provider in SharePoint, the process needs to change. The reason for that is because there isn’t a way for the WebSSO provider to directly resolve an Active Directory group – instead it resolves membership through something in ADFS called Organizational Claims. You will need to do some work to create a set of Organizational Claims in ADFS that map to the SharePoint Site Groups into which you want to add users; you can then associate multiple Active Directory groups with an ADFS Organizational Claim on the account partner. The key take away here is – when you add permissions on SharePoint, you will add and associate Group Claims with the SharePoint Roles – not Windows Security Groups. This is very important to keep in mind as you go through the rest of the document. 
&lt;P&gt;Here is the process in ADFS for creating the new Organizational Claims and associating the account side Active Directory Groups with them: 
&lt;P&gt;In the Adatum Forest (Account Forest) 
&lt;OL&gt;
&lt;LI&gt;Create a Windows Group called Trey MOSS Readers 
&lt;LI&gt;Create a Windows Group called Trey MOSS Contributors 
&lt;LI&gt;Add Alansh to the MOSS readers group and Adamcar to the contributors group 
&lt;LI&gt;Launch ADFS.MSC 
&lt;LI&gt;Create an Organizational Group Claim called Trey MOSS Readers 
&lt;LI&gt;Create an Organizational Group Claim called Trey MOSS Contributors 
&lt;LI&gt;Right click the Active Directory account store and choose New Group Claim Extraction 
&lt;OL&gt;
&lt;LI&gt;Choose the Trey MOSS Readers Group Claim and associate it with the Trey MOSS Readers Windows Group 
&lt;LI&gt;Do another group claim extraction and associate the Contributor claim with the Contributor Group&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;Right click the Trey Research Resource Partner and create the outgoing claim mappings 
&lt;OL&gt;
&lt;LI&gt;Choose the Trey MOSS Reader claim and map to outgoing claim &lt;B&gt;adatum-trey-readers&lt;/B&gt; 
&lt;LI&gt;Choose the Trey MOSS Contributor claim and map to outgoing &lt;B&gt;claim adatum-trey-contributors&lt;/B&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;NOTE:&lt;/B&gt; The claim mapping names in step 8 must be agreed upon between the organizations and must match exactly. 
&lt;P&gt;On the Trey Research side – launch ADFS.MSC 
&lt;OL&gt;
&lt;LI&gt;Create an Organizational Group Claim called Adatum MOSS Readers 
&lt;LI&gt;Create an Organizational Group Claim called Adatum MOSS Contributors 
&lt;LI&gt;Create incoming group mappings for your claims 
&lt;OL&gt;
&lt;LI&gt;Right click the Adatum account partner and choose Incoming Group Claim Mapping 
&lt;LI&gt;Choose Adatum MOSS Readers and map it to incoming claim name &lt;B&gt;adatum-trey-readers&lt;/B&gt; 
&lt;LI&gt;Choose Adatum MOSS Contributors and map it to incoming claim name &lt;B&gt;adatum-trey-contributors&lt;/B&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;Enable the claims for the MOSS application 
&lt;OL&gt;
&lt;LI&gt;Click on the MOSS application – right click and choose enable on both the Reader and Contributor claims&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Now we are ready to modify SharePoint so that we will be able to add the Claims to the Extranet site that has been extended 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;Change the web.config on the Central admin site and web.config on the Sharepoint 80 (Windows Authentication site)&lt;/B&gt; 
&lt;P&gt;In both web.config files add this section directly below the &amp;lt;authentication mode&amp;gt; section 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;membership&amp;gt; 
&lt;P&gt;&amp;lt;providers&amp;gt; 
&lt;P&gt;&amp;lt;add name="&lt;B&gt;SingleSignOnMembershipProvider2&lt;/B&gt;" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://&lt;B&gt;fs-server&lt;/B&gt;/adfs/fs/federationserverservice.asmx" /&amp;gt; 
&lt;P&gt;&amp;lt;/providers&amp;gt; 
&lt;P&gt;&amp;lt;/membership&amp;gt; 
&lt;P&gt;&amp;lt;roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"&amp;gt; 
&lt;P&gt;&amp;lt;providers&amp;gt; 
&lt;P&gt;&amp;lt;remove name="AspNetSqlRoleProvider" /&amp;gt; &amp;lt;add name="&lt;B&gt;SingleSignOnRoleProvider2&lt;/B&gt;" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://&lt;B&gt;fs-server&lt;/B&gt;/adfs/fs/federationserverservice.asmx" /&amp;gt; 
&lt;P&gt;&amp;lt;/providers&amp;gt; 
&lt;P&gt;&amp;lt;/roleManager&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Change &lt;B&gt;fs-server&lt;/B&gt; to reflect your resource Federation Server (i.e. adfsresource.treyresearch.net) and take note of the &lt;B&gt;membership provider&lt;/B&gt; and &lt;B&gt;role provider&lt;/B&gt; names because you will need to add these exact names on the Central Admin Page. 
&lt;P&gt;This change is necessary so that the web sites can resolve users and groups using the WebSSO/ADFS provider. One of the reasons you may do this is to be able to configure Policies for the web application for different ADFS users and groups, or for users that are authenticating with Windows to be able to provision permissions for ADFS users. One thing to note in the example above, since both of these sites using Windows authentication, they always use Windows authentication for the role provider -- that’s why the AspNetWindowsTokenRoleProvider is set as the default role provider. 
&lt;P&gt;&lt;B&gt;Configure the Authentication provider for the extranet web application to use WebSSO. &lt;/B&gt;
&lt;P&gt;Open your browser and navigate to the Central Administration site, click on &lt;I&gt;Application Management&lt;/I&gt; and then on &lt;I&gt;Authentication Providers&lt;/I&gt;. Make sure that you are working on the web application for which you wish to enable WebSSO. 
&lt;P&gt;You should see a list of two zones that are mapped for this web application; both should say Windows. Click on the link that says &lt;I&gt;Windows&lt;/I&gt; for the web application in the Extranet zone and do the following: 
&lt;OL&gt;
&lt;LI&gt;In the &lt;I&gt;Authentication Type&lt;/I&gt; section, click on the Web Single Sign On radio button. The page will post back and expose two new edit boxes. 
&lt;LI&gt;In the &lt;I&gt;Membership provider name&lt;/I&gt; edit box, type in the name of your web application’s Membership provider for the current zone. That is the &lt;B&gt;&lt;I&gt;name&lt;/I&gt;&lt;/B&gt; attribute value that was highlighted in the &lt;I&gt;Membership&lt;/I&gt; element (SingleSignOnMembershipProvider2) 
&lt;LI&gt;In the &lt;I&gt;Role manager name&lt;/I&gt; edit box, type in the name of your web application’s Role provider. That is the value that was highlighted in the &lt;B&gt;&lt;I&gt;name &lt;/I&gt;&lt;/B&gt;attribute value of the &lt;I&gt;roleManager&lt;/I&gt; element (SingleSignOnRoleProvider2) 
&lt;LI&gt;Click the &lt;I&gt;Save&lt;/I&gt; button.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Modify the web.config file for the Extranet site:&lt;/B&gt; 
&lt;P&gt;Add the following entry within the &amp;lt;configSections&amp;gt; node 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;sectionGroup name="system.web"&amp;gt; 
&lt;P&gt;&amp;lt;section name="websso" type="System.Web.Security.SingleSignOn.WebSsoConfigurationHandler, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" /&amp;gt; 
&lt;P&gt;&amp;lt;/sectionGroup&amp;gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Add the following entry to the &amp;lt;httpModules&amp;gt; node 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" /&amp;gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The ADFS authentication module should always be specified after the sharepoint SPRequest module in the in the &amp;lt;httpModules&amp;gt; section of the web.config file. It is safest to add it as the last entry in that section. 
&lt;P&gt;Add the following entry to the directly after the &amp;lt;authentication mode&amp;gt; node 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;membership defaultProvider="SingleSignOnMembershipProvider2"&amp;gt; 
&lt;P&gt;&amp;lt;providers&amp;gt; 
&lt;P&gt;&amp;lt;add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://&lt;B&gt;fs-server&lt;/B&gt;/adfs/fs/federationserverservice.asmx" /&amp;gt; 
&lt;P&gt;&amp;lt;/providers&amp;gt; 
&lt;P&gt;&amp;lt;/membership&amp;gt; 
&lt;P&gt;&amp;lt;roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2"&amp;gt; 
&lt;P&gt;&amp;lt;providers&amp;gt; 
&lt;P&gt;&amp;lt;add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://&lt;B&gt;fs-server&lt;/B&gt;/adfs/fs/federationserverservice.asmx" /&amp;gt; 
&lt;P&gt;&amp;lt;/providers&amp;gt; 
&lt;P&gt;&amp;lt;/roleManager&amp;gt; 
&lt;P&gt;&amp;lt;websso&amp;gt; 
&lt;P&gt;&amp;lt;authenticationrequired /&amp;gt; 
&lt;P&gt;&amp;lt;auditlevel&amp;gt;55&amp;lt;/auditlevel&amp;gt; 
&lt;P&gt;&amp;lt;urls&amp;gt; 
&lt;P&gt;&amp;lt;returnurl&amp;gt;https://&lt;B&gt;your_application&lt;/B&gt;&amp;lt;/returnurl&amp;gt; 
&lt;P&gt;&amp;lt;/urls&amp;gt; 
&lt;P&gt;&amp;lt;fs&amp;gt;https://&lt;B&gt;fs-server&lt;/B&gt;/adfs/fs/federationserverservice.asmx&amp;lt;/fs&amp;gt; 
&lt;P&gt;&amp;lt;isSharePoint /&amp;gt; 
&lt;P&gt;&amp;lt;/websso&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Change the &lt;B&gt;fs-server&lt;/B&gt; to your resource Federation Server (i.e. adfsresource.treyresearch.net) and change &lt;B&gt;your_application&lt;/B&gt; to reflect your application. Your application is going to be the MOSS URL that Federated Users will access. In this example, we will change this to &lt;A href="https://extranet.treyresearch.net/" mce_href="https://extranet.treyresearch.net"&gt;https://extranet.treyresearch.net&lt;/A&gt; 
&lt;P&gt;&lt;B&gt;Modify the Windows authentication web site so ADFS users can be granted rights to the site collection&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;There are two ways in which you can grant rights to ADFS users into the SharePoint site; one is by using a Policy. In this case, we are not going to use that method for a couple of reasons: 
&lt;UL&gt;
&lt;LI&gt;Granting rights by policy is a very coarse operation. It would allow the user (or group) to have the same set of rights in every web site, in every site collection, in the entire web application. It should be used very judiciously, and in this particular scenario we can grant access to ADFS users without resorting to this method&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;Once the site(s) are in use, in an extranet scenario it is quite likely that the internal users will be responsible for granting access to sites and content. For that to happen, one of two things needs to happen – either those users need to be given an ADFS login name or they need to be able to select ADFS users and Organizational Claims (analogous to Active Directory groups) from the Windows site. Obviously, it makes the most sense for the Windows users to continue to be able to use their existing credentials, rather than provision a new identity for Windows users – that would essentially defeat the purpose of supporting Windows authentication users.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This is also an opportunity to explore one of the neat features about SharePoint related to security. As you extend web applications with different providers, you can configure one or all of them to be able to find user and groups from providers you are using. So in this scenario, we are going to configure our site that uses Windows authentication, and let users of that site be able to select other Windows users, Windows groups, and ADFS Organizational Claims all from one site. 
&lt;P&gt;In order to do that, the Windows site has to “know” about the other providers it can use. The way to do that is to edit the web.config file for the Windows site. Those are the steps already completed and covered above in the section titled &lt;B&gt;&lt;I&gt;Change the web.config on the Central admin site and web.config on the Sharepoint 80 (Windows Authentication site)&lt;/I&gt;.&lt;/B&gt; 
&lt;P&gt;Now you can add ADFS Claims to SharePoint site groups so that federated users have access to the site. Start by navigating to the Windows authentication site as an account that has administrative rights in there. Click on Site Settings, People and Groups. You will see a list of the SharePoint site groups. 
&lt;P&gt;Remember at the beginning of this document – you created a couple of Organizational Group Claims on Treyresearch 
&lt;P&gt;&amp;lt;snip&amp;gt; 
&lt;P&gt;On the Trey Research side – launch ADFS.MSC 
&lt;OL start=5&gt;
&lt;LI&gt;Create an Organizational Group Claim called Adatum MOSS Readers 
&lt;LI&gt;Create an Organizational Group Claim called Adatum MOSS Contributors&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&amp;lt;/snip&amp;gt; 
&lt;P&gt;You can click on any of the Sharepoint&amp;nbsp;groups, and then click on the Add button. Use the People Picker to type in the name of any ADFS Organization Group Claims that you want to add to the group and click the OK button. Those ADFS users will now be able to access the site via the external https URL. The People Picker will not do wildcard searches for the claims – so type the claim in here exactly as you typed it in while creating the claim in ADFS. 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;&lt;IMG height=339 src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/InstallingMOSSasaclaimsawareapplicationi_CA2D/clip_image006.jpg" width=543 border=0 mce_src="http://blogs.technet.com/blogfiles/adfs/WindowsLiveWriter/InstallingMOSSasaclaimsawareapplicationi_CA2D/clip_image006.jpg"&gt;&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;Browse to the &lt;A href="https://extranet.treyresearch.net/" mce_href="https://extranet.treyresearch.net"&gt;https://extranet.treyresearch.net&lt;/A&gt; web site as an ADFS user you added to a SharePoint Site Group in the previous section. You should be able to authenticate to and see the site. 
&lt;P&gt;One gotcha that came up from the review process...If you install SharePoint with a domain service account running the Application Pool, this domain service account must be granted the “generate security audit” user right for ADFS to function properly.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=642942" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/adfs/archive/tags/SharePoint/">SharePoint</category></item><item><title>Introduction</title><link>http://blogs.technet.com/b/adfs/archive/2007/02/11/introduction.aspx</link><pubDate>Mon, 12 Feb 2007 07:58:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:638567</guid><dc:creator>jimsim</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/adfs/rsscomments.aspx?WeblogPostID=638567</wfw:commentRss><comments>http://blogs.technet.com/b/adfs/archive/2007/02/11/introduction.aspx#comments</comments><description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;My name is Jim Simonet and I work with the Microsoft PSS Directory Services Group.&amp;nbsp; I work with a small&amp;nbsp;team within Directory Services&amp;nbsp;that supports the majority of ADFS issues at Microsoft.&amp;nbsp;&amp;nbsp;I'm creating this blog space to post about lessons learned in PSS regarding ADFS.&amp;nbsp; I have many ideas in my head on useful content here and have a few items in the works right now.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Sharepoint 2007 seems to be a popular topic right now and I hope to put some useful content out soon which will help you configure Sharepoint 2007/MOSS as a claims aware application with ADFS.&lt;/P&gt;
&lt;P&gt;Additionally, I'd like to use this space to document common misconfigurations I see with ADFS...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I hope that you will find this space helpful and provide feedback on ideas to blog about in the future.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;BR&gt;Jim&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=638567" width="1" height="1"&gt;</description></item></channel></rss>
