<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>David Crawford's WebLog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/dc995/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/dc995/feed.xml</link>
    <description>Integration, Security, and Collaborative Solutions</description>
    <lastBuildDate>Tue, 16 Apr 2019 04:59:25 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>A Guide to Claims-Based Identity and Access Control (2nd Edition)</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/a-guide-to-claims-based-identity-and-access-control-2nd-edition</link>
      <pubDate>Sat, 08 Oct 2011 12:00:16 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2011/10/08/a-guide-to-claims-based-identity-and-access-control-2nd-edition/</guid>
      <description><![CDATA[Check out the sections related to federating SharePoint - &nbsp;specifically logout to compliment...]]></description>
      <content:encoded><![CDATA[<p>Check out the sections related to federating SharePoint - &nbsp;specifically logout to compliment your readings from the SharePoint whitepaper.&nbsp;</p>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td><strong><a href="#sec1">Summary</a></strong> | <strong><a href="#sec2">Contents</a></strong> | <strong><a href="#sec3">Overview</a></strong> - <em><a href="#sec4">Contents of the Guide</a></em>, <em><a href="#sec5">Audience Requirements</a></em>, <em><a href="#sec6">System Requirements</a></em>, <em><a href="#sec7">Application Server</a></em>, <em><a href="#sec8">ADFS</a></em>, <em><a href="#sec9">Active Directory</a></em>, <em><a href="#sec10">Client Computer</a></em> | <strong><a href="#sec11">Community</a></strong> | <strong><a href="#sec12">Future Plans</a></strong> | <strong><a href="#sec13">Feedback and Support</a></strong> | <strong><a href="#sec14">Authors and Contributors</a></strong> | <strong><a href="#sec15">Related Titles</a></strong></td>
</tr>
</tbody>
</table>
<p></p>
<p><img id="288258dc-146e-4c80-9d31-bc4c69e15ea0" title="Ff423674.288258dc-146e-4c80-9d31-bc4c69e15ea0(en-us,PandP.10).png" alt="Ff423674.288258dc-146e-4c80-9d31-bc4c69e15ea0(en-us,PandP.10).png" src="https://i.msdn.microsoft.com/dynimg/IC368873.png" xmlns="" /></p>
<p><a href="https://microsoft.com/practices">patterns &amp; practices Developer Center</a></p>
<p>September&nbsp; 2011</p>
<h1 id="sec1" class="heading">Summary</h1>
<p>Imagine a world where you don't have to worry about authentication. Imagine instead that all requests to your application already include the information you need to make access control decisions and to personalize the application for the user.</p>
<p>In this world, your applications can trust another system component to securely provide user information, such as the user's name or email address, a manager's email address, or even a purchasing authorization limit. The user's information always arrives in the same simple format, regardless of the authentication mechanism, whether it's Microsoft&reg; Windows&reg; integrated authentication, forms-based authentication in a web browser, an X.509 client certificate, or something more exotic. Even if someone in charge of your company's security policy changes how users authenticate, you still get the information, and it's always in the same format. This is the utopia of claims-based identity that <em>A Guide to Claims-Based Identity and Access Control</em> describes.</p>
<p>This is the second edition of this popular guide. It has been extensively updated to include new features and changes to the underlying technologies; and extends the coverage to encompass Windows Azure&reg; Access Control Service, REST-based service authentication, and the use of claims-based authentication in Microsoft SharePoint&reg; 2010. As you'll see, claims provide an innovative approach for building all types of applications that must authenticate and authorize users.&nbsp;</p>
<p>This edition also has a set of associated Hands-on-Labs that will help you to better understand the way that the example application works, how you can extend it with additional functionality, and how you can implement some of the advanced scenarios described in the guide.</p>
<table>
<tbody>
<tr>
<td>
<p>Downloads</p>
</td>
<td>
<p><a href="https://www.microsoft.com/download/en/details.aspx?id=27289">Example code</a></p>
</td>
</tr>
<tr>
<td>
<p>Community</p>
</td>
<td>
<p><a href="https://claimsid.codeplex.com/">https://claimsid.codeplex.com</a></p>
</td>
</tr>
<tr>
<td>
<p>License</p>
</td>
<td>
<p>The samples for this content are licensed under the Microsoft Public License (Ms-PL) which can be found at <a href="https://www.microsoft.com/en-us/openness/resources/licenses.aspx#MPL">https://www.microsoft.com/en-us/openness/resources/licenses.aspx#MPL</a></p>
</td>
</tr>
</tbody>
</table>
<h1 id="sec2" class="heading">Contents</h1>
<p><a href="#Overview">Overview</a></p>
<p><a href="#Community">Community</a></p>
<p><a href="#FuturePlans">Future Plans</a></p>
<p><a href="#FeedbackSupport">Feedback and Support</a></p>
<p><a href="#AuthorsContributors">Authors and Contributors</a></p>
<p><a href="#RelatedTitles">Related Titles</a></p>
<h1 id="sec3" class="heading">Overview</h1>
<p>This book gives you enough information to evaluate claims-based identity as a possible option when you are planning a new application or making changes to an existing one. It is intended for any architect, developer, or information technology (IT) professional who designs, builds, or operates Web applications and services that require identity information about their users.</p>
<p>Although claims-based identity has been possible for quite a while, there are now tools available that make it much easier for developers of Windows-based applications to implement it. These tools include the Windows Identity Foundation (WIF), Microsoft Active Directory&reg; Federation Services (ADFS) v2, and Windows Azure Access Control Service (ACS). This book shows you when and how to use these tools in the context of some commonly occurring scenarios.</p>
<h2 id="sec4" class="subheading">Contents of the Guide</h2>
<p><a href="https://msdn.microsoft.com/en-us/library/Ff423674.d77ede9a-9263-4cf2-abf6-164272d69c71(l=en-us).png" target="_blank"><img id="d77ede9a-9263-4cf2-abf6-164272d69c71-thumb" title="Ff423674.d77ede9a-9263-4cf2-abf6-164272d69c71-thumb(en-us,PandP.10).png" alt="Ff423674.d77ede9a-9263-4cf2-abf6-164272d69c71-thumb(en-us,PandP.10).png" src="https://i.msdn.microsoft.com/dynimg/IC533918.png" xmlns="" /></a></p>
<p><strong>An Introduction to Claims</strong> explains what a claim is and provides general rules on what makes good claims and how to incorporate them into your application. It's probably a good idea that you read this chapter before you move on to the scenarios.</p>
<p><strong>Claims-Based Architectures</strong> shows you how to use claims with browser-based applications and smart client applications. In particular, the chapter focuses on how to implement single sign-on for your users, whether they are on an intranet or an extranet. This chapter is optional. You don't need to read it before you proceed to the scenarios.</p>
<p><strong>Claims-Based Single Sign-On for the Web and Windows Azure</strong> is the starting point of the path that explores the implementation of single sign-on and federated identity. This chapter shows you how to implement single sign-on and single sign-out within a corporate intranet. Although this may be something that you can also implement with Integrated Windows Authentication, it is the first stop on the way to implementing more complex scenarios. It includes a section for Windows Azure&trade; technology platform that shows you how to move the claims-based application to the cloud.</p>
<p><strong>Federated Identity for Web Applications</strong> shows how you can give your business partners access to your applications while maintaining the integrity of your corporate directory and theirs. In other words, your partners' employees can use their own corporate credentials to gain access to your applications.</p>
<p><strong>Federated Identity with Windows Azure Access Control Service</strong> is the start of a parallel path that explores Windows Azure Access Control Service (ACS) in the context of single sign-on and federated identity. This chapter extends the scenarios described in the previous chapter to enable users to authenticate using social identity providers such as Google and Windows Live&reg; network of Internet services.</p>
<p><strong>Federated Identity with Multiple Partners</strong> is a variation of the federated identity scenario that shows you how to federate with partners who have no issuer of their own as well as those who do. It demonstrates how to use the ASP.NET MVC framework to create a claims-aware application.</p>
<p><strong>Federated Identity with Multiple Partners and Windows Azure Access Control Service</strong> extends the scenarios described in the previous chapter to include ACS to give users additional choices for authentication that include social identity providers such as Google and Windows Live.</p>
<p><strong>Claims Enabling Web Services</strong> is the first of a set of chapters that explore authentication for active clients rather than web browsers. This chapter shows you how to use the claims-based approach with web services, whereby a partner uses a smart client that communicates with identity providers and token issuers using SOAP-based services.</p>
<p><strong>Securing REST Services</strong> shows how to use the claims-based approach with web services, whereby a partner uses a smart client that communicates with identity providers and token issuers using REST-based services.</p>
<p><strong>Accessing REST Services from a Windows Phone Device</strong> shows how you can use claims-based techniques with Windows Phone&trade; wireless devices. It discusses the additional considerations that you must take into account when using claims-based authentication with mobile devices.</p>
<p><strong>Claims-Based Single Sign-On for Microsoft SharePoint 2010</strong> begins a path that explores how you can use claims-based identity techniques with Microsoft SharePoint 2010. This chapter shows how SharePoint web applications can use claims-based authentication with an external token issuer such as ADFS to enable access from both internal locations and externally over the web.</p>
<p><strong>Federated Identity for SharePoint Applications</strong> extends the previous chapter to show how you can use federated identity techniques to enable users to authenticate using more than one identity provider and token issuer.</p>
<h2 id="sec5" class="subheading">Audience Requirements</h2>
<p>Although applications that use claims-based identity exist on many platforms, this book is written for people who work with Windows-based systems. You should be familiar with the Microsoft .NET Framework, ASP.NET, Windows Communication Foundation (WCF), Microsoft Active Directory&reg;, and Microsoft Visual C#&reg;.</p>
<h2 id="sec6" class="subheading">System Requirements</h2>
<p>You can either run the samples that illustrate the scenarios in the guide on your own system or you can create a realistic lab environment. Running the scenarios on your own system is very simple and has only a few requirements. These are the system requirements for running the scenarios on your system:</p>
<ul>
<li>Microsoft Windows Vista&reg; SP1, Windows 7, Windows Server 2008 (32-bit or 64-bit), or Windows Server 2008 R2 (32-bit or 64-bit)</li>
<li>Microsoft Internet Information Services (IIS) 7.0 or 7.5</li>
<li>Microsoft .NET Framework 4.0</li>
<li>Microsoft Visual Studio&reg; 2010 (excluding Express editions)</li>
<li>Windows Azure Tools for Microsoft Visual Studio</li>
<li>Windows Identity Foundation</li>
</ul>
<p>Running the scenarios in a realistic lab environment, with an instance of Active Directory Federation Services (ADFS) and Active Directory, requires an application server, ADFS, Active Directory, and a client system. Here are their system requirements.</p>
<p><strong>Note:</strong> The example code for this guide and for the associated Hands-on-Labs was built using the Windows Azure Tools for Visual Studio version 1.3 (March 2011), and has also been tested using version 1.4 (August 2011) of the tools. The Dependency Checker utility provided with the examples will check for the presence of either the version 1.3 or version 1.4 release of the tools. If you have version 1.4 installed, you will be prompted to migrate the solutions to this version when you open them in Visual Studio.</p>
<h3 id="sec7" class="subheading">Application Server</h3>
<p>The application server requires the following:</p>
<ul>
<li>Windows Server 2008 or Windows Server 2008 R2</li>
<li>Microsoft Internet Information Services (IIS) 7.0 or 7.5</li>
<li>Microsoft Visual Studio 2010 (excluding Express editions)</li>
<li>.NET Framework 4.0</li>
<li>Windows Identity Foundation</li>
</ul>
<h3 id="sec8" class="subheading">ADFS</h3>
<p>The ADFS server requires the following:</p>
<ul>
<li>Windows Server 2008 or Windows Server 2008 R2</li>
<li>Microsoft Internet Information Services (IIS) 7.0 or 7.5</li>
<li>.NET Framework 4.0</li>
<li>Microsoft SQL Server&reg; 2005 or 2008 Express Edition</li>
</ul>
<h3 id="sec9" class="subheading">Active Directory</h3>
<p>The Active Directory system requires Windows Server 2008 or Windows Server 2008 R2 with Active Directory installed.</p>
<h3 id="sec10" class="subheading">Client Computer</h3>
<p>The client computer requires Windows Vista or Windows 7 for active scenarios. Passive scenarios may use any web browser as the client that supports HTTP redirection.</p>
<h1 id="sec11" class="heading">Community</h1>
<p>This guide, like many patterns &amp; practices deliverables, is associated with a community site. On this community site, you can post questions, provide feedback, or connect with other users for sharing ideas. Community members can also help Microsoft plan and test future guides, and download additional content such as extensions and training material.</p>
<h1 id="sec12" class="heading">Future Plans</h1>
<p>Additional content and plans will be published to the community site.</p>
<h1 id="sec13" class="heading">Feedback and Support</h1>
<p>Questions? Comments? Suggestions? To provide feedback about this guide, or to get help with any problems, please visit the Community site. The message board on the community site is the preferred feedback and support channel because it allows you to share your ideas, questions, and solutions with the entire community. <em>A Guide to Claims-based Identity and Access Control</em> is a guidance offering, designed to be reused, customized, and extended. It is not a Microsoft product. Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Support Services for a fee, but the code is considered user-written by Microsoft support staff.</p>
<h1 id="sec14" class="heading">Authors and Contributors</h1>
<p>This guide was produced by the following individuals:</p>
<ul>
<li>Program and Product Management:&nbsp; Eugenio Pace</li>
<li>Subject Matter Experts: Dominic Betts, Dominick Baier, Vittorio Bertocci, Keith Brown, and Matias Woloski</li>
<li>Development: Scott Densmore, Federico Boerr and Nicolas Paez</li>
<li>Test team: Masashi Narumoto, Rathi Velusamy and RaviShankar Chemudupati</li>
<li>Edit team: RoAnn Corbisier, Colin Campbell (Modeled Computation LLC), Roberta Leibovitz (Modeled Computation LLC), Alex Homer, Nancy Mitchell, and Tina Burden</li>
<li>Book design and illustrations: John Hubbard (eson), Ellen Forney and Veronica Ruiz</li>
<li>Release Management: Richard Burte</li>
</ul>
<p>We want to thank the customers, partners, and community members who have patiently reviewed our early content and drafts. Among those, we want to highlight the exceptional contributions of Zulfiqar Ahmed, Michele Leroux Bustamante (IDesign), Pablo Mariano Cibraro (Tellago Inc), Hernan DeLahitte (DigitFactory), Pedro Felix, Tim Fischer (Microsoft Germany), Mario Fontana, David Hill, Doug Hiller, Jason Hogg, Ezequiel Jadib (Southworks), Brad Jonas, Seshadri Mani, Marcelo Mas, Vijayavani Nori, Krish Shenoy, Travis Spencer (www.travisspencer.com), Mario Szpuszta (Sr. Architect Advisor, Microsoft Austria), Chris Tavares, Peter M. Thompson, Todd West, Robert Bogue, Jonathan Cisneros, Shy Cohen, David Crawford, Laura Hunter, Chris Keyser, Jason Lee, Alik Levin, Nicolas Paez, Brian Puhl, Paul Schaeflein, Ken St. Cyr, Venky Veeraraghavan, Bill Wilder, Daz Wilkin, Jim Zimmerman, Steve Peschka, and Christian Nielsen.</p>
<p>Finally, we want to thank Stuart Kwan and Conrad Bayer from the Identity Division at Microsoft for their support throughout, and everyone who participated in our CodePlex community site.</p>
<h1 id="sec15" class="heading">Related Titles</h1>
<ul>
<li><a href="https://msdn.microsoft.com/en-us/library/zdh19h94.aspx">Basic Security Practices for Web Applications</a></li>
<li><a href="https://wcfsecurityguide.codeplex.com/">Improving Web Services Security</a></li>
<li><a href="https://wag.codeplex.com/">p&amp;p Windows Azure Guidance Project</a></li>
</ul>
<p><img id="64141a69-2e70-45d4-9834-dbed11df724f" title="Ff423674.64141a69-2e70-45d4-9834-dbed11df724f(en-us,PandP.10).png" alt="Ff423674.64141a69-2e70-45d4-9834-dbed11df724f(en-us,PandP.10).png" src="https://i.msdn.microsoft.com/dynimg/IC368873.png" xmlns="" /></p>
<div id="topicLinks" class="navigationLinks"><a href="https://msdn.microsoft.com/en-us/library/ff359112.aspx">Next</a><span> | </span><a href="https://msdn.microsoft.com/en-us/library/ff423674.aspx">Home</a></div>]]></content:encoded>
    </item>
    <item>
      <title>Implementing Claims-Based Authentication with SharePoint Server 2010 (whitepaper)</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/implementing-claims-based-authentication-with-sharepoint-server-2010-whitepaper</link>
      <pubDate>Sat, 08 Oct 2011 11:55:00 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2011/10/08/implementing-claims-based-authentication-with-sharepoint-server-2010-whitepaper/</guid>
      <description><![CDATA[Check it out!&nbsp;
Published: September 27, 2011
This white paper describes how Web applications...]]></description>
      <content:encoded><![CDATA[<p><strong>Check it out!&nbsp;</strong></p>
<p><strong>Published: September 27, 2011</strong></p>
<p>This white paper describes how Web applications in Microsoft SharePoint Server 2010 can use claims-based authentication to provide authenticated access to entities that are external to your organization and enable multiple authentication types within a single zone.</p>
<p>It also provides many of the details related to setting up a trust configuration, an explanation of runtime considerations and management, configuration details, and programmatic implementations or use of the extensibility points that turn federated access into a federated SharePoint Server 2010 business solution. In addition, this white paper provides guidance in the following areas:</p>
<ul>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Overview of Claims-based Identity in SharePoint Server 2010</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SharePoint Server 2010 with Active Directory Federation Services 2.0</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creating Multiple Claims Authentication Web Applications in a Single SharePoint Server 2010 Farm</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Setting the Login Token Expiration Correctly for SharePoint Server 2010 SAML Claims Users</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creating a Custom Claims Provider</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Migration of Users in Classic Mode to Trusted Provider Claims</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; How to Enable Tracing for SharePoint Server 2010 Claims</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Trusted Identity Providers and User Profile Synchronization</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Using Audiences with Claims-Based Sites</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Implications of Claims Mode Authentication on Service Applications</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Service Applications and the C2WTS</li>
<li class="unordered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Using Active Authentication for Custom Development in SharePoint Server 2010 Claims Authentication Web Applications</li>
</ul>
<h1 class="heading">Download the white paper</h1>
<div id="section45" class="section">
<p><a id="ctl00_MTCS_main_ctl01" href="https://go.microsoft.com/fwlink/?LinkId=229109" target="blank">Implementing Claims Based Authentication with SharePoint Server 2010 (whitepaper)</a> ( <a href="https://go.microsoft.com/fwlink/?LinkId=229109">https://go.microsoft.com/fwlink/?LinkId=229109</a> )</p>
</div>
<p>&nbsp;</p>
<p>&nbsp;( Please forgive the typos.&nbsp; Anywhere ADFS was in the paper was&nbsp;find-replaced with AD FS&nbsp;broke the code examples and powershell.&nbsp; I am working to get that revised currently.&nbsp; Also special thanks to a couple of the authors/contributers who are missing from the credits -&nbsp; Adam Conkle and Tyler Durham.&nbsp;)&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>“Demystified Series” Covers AzMan from A-to-Z on Channel 9</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/demystified-series-covers-azman-from-a-to-z-on-channel-9</link>
      <pubDate>Mon, 07 May 2007 13:16:00 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2007/05/07/demystified-series-covers-azman-from-a-to-z-on-channel-9/</guid>
      <description><![CDATA[“Demystified Series” Links:
Getting Started with AzMan Programming AzMan – (Code Sample)AzMan in...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><B><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">“Demystified Series” Links:</SPAN></B><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><SPAN lang=EN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN"><A href="https://channel9.msdn.com/Showpost.aspx?postid=289062" target=_blank mce_href="https://channel9.msdn.com/Showpost.aspx?postid=289062"><SPAN style="COLOR: blue; FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-size: 11.0pt">Getting Started with AzMan</SPAN></A> <BR><A href="https://channel9.msdn.com/ShowPost.aspx?PostID=289435" target=_blank mce_href="https://channel9.msdn.com/ShowPost.aspx?PostID=289435"><SPAN style="COLOR: blue; FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-size: 11.0pt">Programming AzMan</SPAN></A> – (<A href="https://channel9.msdn.com/ShowPost.aspx?PostID=289429" target=_blank mce_href="https://channel9.msdn.com/ShowPost.aspx?PostID=289429"><SPAN style="COLOR: blue; FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-size: 11.0pt">Code Sample</SPAN></A>)<BR><A href="https://channel9.msdn.com/ShowPost.aspx?PostID=289472" target=_blank mce_href="https://channel9.msdn.com/ShowPost.aspx?PostID=289472"><SPAN style="COLOR: blue; FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-size: 11.0pt">AzMan in the Enterprise</SPAN></A>&nbsp;– (<A href="https://channel9.msdn.com/ShowPost.aspx?PostID=289461" target=_blank mce_href="https://channel9.msdn.com/ShowPost.aspx?PostID=289461"><SPAN style="COLOR: blue; FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-size: 11.0pt">Code Sample</SPAN></A>)</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"><SPAN lang=EN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN"><A href="https://channel9.msdn.com/Showpost.aspx?postid=298350" target=_blank mce_href="https://channel9.msdn.com/Showpost.aspx?postid=298350"><SPAN style="COLOR: blue; FONT-FAMILY: 'Times New Roman','serif'; mso-bidi-font-size: 11.0pt">AzMan on Windows Server Code Name “Longhorn” and Windows Vista</SPAN></A></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P mce_keep="true">&nbsp;</P>
<P>(Thanks to&nbsp;<SPAN class=rwRRO oncontextmenu=_e(this,this._e_oncontextmenu) id=spnFrom ondblclick=_e(this,this._e_ondblclick) title=donovanf@microsoft.com onclick=_e(this,this._e_onclick) _e_oncontextmenu="onRwCm();" _fJnk="1" _dn="Donovan Follette" _rt="EX" _em="/O=MICROSOFT/OU=NORTHAMERICA/CN=RECIPIENTS/CN=DONOVANF" _ao="2" _id="NOEqIcvDkUm0RW7nw5FnGg==" _e_ondblclick="onDblClkRcp();" _e_onclick="selEm(_this);">Donovan Follette</SPAN>&nbsp;<A href="https://blogs.msdn.com/donovanf/" mce_href="https://blogs.msdn.com/donovanf/">https://blogs.msdn.com/donovanf/</A>&nbsp;for this great content!&nbsp;)</P><A class="" title=_“Demystified_Series”_Covers name=_“Demystified_Series”_Covers></A>
<P>
<TABLE class=MsoNormalTable style="BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" cellSpacing=0 cellPadding=0 border=0 class="MsoNormalTable">
<TBODY>
<TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
<TD class="" style="BORDER-RIGHT: #f0f0f0; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 85.5pt; PADDING-TOP: 0in; BORDER-BOTTOM: #f0f0f0; BACKGROUND-COLOR: transparent" vAlign=top width=114>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; TEXT-ALIGN: center" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"><?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P mce_keep="true">&nbsp;</P>
<P mce_keep="true">&nbsp;</P></TD></TR></TBODY></P>]]></content:encoded>
    </item>
    <item>
      <title>How To: STS/Windows Authentication with ADAM/AD, Roles in AzMan with WCF</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/how-to-stswindows-authentication-with-adamad-roles-in-azman-with-wcf</link>
      <pubDate>Fri, 16 Feb 2007 16:40:00 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2007/02/16/how-to-stswindows-authentication-with-adamad-roles-in-azman-with-wcf/</guid>
      <description><![CDATA[&nbsp;
&nbsp;I ran across the following article by Sam Gentile that may be of interest to you...]]></description>
      <content:encoded><![CDATA[<P mce_keep="true">&nbsp;</P>
<P>&nbsp;I ran across the following article by <SPAN class=BlogTitle><A id=ctl00___ctl00___ctl00_ctl00_bcr_bth___BlogTitle href="https://codebetter.com/blogs/sam.gentile/default.aspx">Sam Gentile</A> </SPAN>that may be of interest to you AzMan-ers... check it out.</P>
<P><A href="https://codebetter.com/blogs/sam.gentile/archive/2006/05/26/145540.aspx">https://codebetter.com/blogs/sam.gentile/archive/2006/05/26/145540.aspx</A></P>
<P>Regards,<BR>David</P>]]></content:encoded>
    </item>
    <item>
      <title>Custom Authentication with AzMan - (A note on SID datatype)</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/custom-authentication-with-azman-a-note-on-sid-datatype</link>
      <pubDate>Wed, 23 Aug 2006 13:42:00 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2006/08/23/custom-authentication-with-azman-a-note-on-sid-datatype/</guid>
      <description><![CDATA[There are&nbsp; multiple ways to implement custom authentication with AzMan but if you are using an...]]></description>
      <content:encoded><![CDATA[<P>There are&nbsp; multiple ways to implement custom authentication with AzMan but if you are using an approach with custom SIDs (security identifiers), you should be aware of the data&nbsp;type&nbsp;for a&nbsp;SID.</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT color=#000000><SPAN style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><FONT color=#000000>Each sub authority is of type ULONG (32 bit) numeric which means numbers less than</FONT> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"><FONT color=#000000>4294967295 and no hex characters</FONT>. </SPAN></FONT><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"><FONT color=#000000>So the format recommended for a Custom SID is S-1-9-1-1 through S-1-9-4294967295-4294967295. </FONT></SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"><FONT color=#000000>There is no validation based on sub authority either e.g. S-1-5 isn’t evaluated in AzMan any different from any other but you run the risk of collision with well known SIDs or prod AD SIDs . </FONT></SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"><FONT color=#000000>( Thanks Sudheer! ) </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"><FONT color=#000000></FONT></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"><FONT color=#000000>Regards,</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"><FONT color=#000000>David</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Arial','sans-serif'"><FONT color=#000000><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></SPAN>&nbsp;</P>
<P>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Developing Applications Using Windows Authorization Manager White Paper Released!!!</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/developing-applications-using-windows-authorization-manager-white-paper-released</link>
      <pubDate>Wed, 16 Aug 2006 21:44:00 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2006/08/16/developing-applications-using-windows-authorization-manager-white-paper-released/</guid>
      <description><![CDATA[Check it out!...]]></description>
      <content:encoded><![CDATA[<P>Check it out! </P>
<P><A href="https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetserv/html/AzManApps.asp">https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetserv/html/AzManApps.asp</A></P>
<P>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Source Code for the Authorization Manager (AzMan) ASP.NET  Role Provider Released</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/source-code-for-the-authorization-manager-azman-asp-net-role-provider-released</link>
      <pubDate>Wed, 05 Jul 2006 13:44:00 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2006/07/05/source-code-for-the-authorization-manager-azman-asp-net-role-provider-released/</guid>
      <description><![CDATA[Check out the Source Code for the Authorization Manager (AzMan) ASP.NET &nbsp;Role...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 0pt">
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></P><FONT size=2></FONT><FONT size=4>Check out the Source Code for the Authorization Manager (AzMan) ASP.NET <SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Role Provider</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p>&nbsp;</o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"><A href="https://msdn.microsoft.com/asp.net/downloads/providers/">https://msdn.microsoft.com/asp.net/downloads/providers/</A><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"><o:p>Under Deep Dive...</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"><o:p></o:p></SPAN>&nbsp;</P><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"><o:p>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-themecolor: dark2; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"><o:p>&nbsp;<A href="https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/asp2prvdr03.asp">https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/asp2prvdr03.asp</A></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-themecolor: dark2; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-outline-level: 4; mso-margin-top-alt: auto"><B><SPAN style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'">Differences Between the Published Source Code and the .NET Framework's AuthorizationStoreRoleProvider<o:p></o:p></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 6pt 0in 12pt; LINE-HEIGHT: 18pt"><SPAN style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'">The source code for the <B>AuthorizationStoreRoleProvider</B> is being released unchanged. This means you will not be able to compile it in its current state, because it contains calls to internal helper methods. However, you can reference the source code to see exactly how the provider maps role manager calls to AzMan.</SPAN></o:p></SPAN></P>
<P><FONT face=Verdana color=#0000ff size=2><A href="https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/asp2prvdr01.asp?frame=true">https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/asp2prvdr01.asp?frame=true</A></FONT></P>
<P><FONT style="BACKGROUND-COLOR: #ffffff" face=Verdana color=#000000>Role Providers</FONT></P><SPAN style="FONT-SIZE: 8pt; COLOR: #cccccc; FONT-FAMILY: 'Verdana','sans-serif'">
<P><FONT color=#000000><B>Summary:</B> Describes the design and operation of the various built-in providers that Microsoft ASP.NET 2.0 uses for state management services. (6 printed pages)</FONT></P>
<P><FONT color=#000000><B>Click here to download the entire series in PDF format</B> </FONT><A href="https://download.microsoft.com/download/d/d/b/ddb5a94d-b398-44b5-bbb9-a71808879d79/Microsoft%20ASP.NET%20Providers.pdf"><FONT color=#000000>Microsoft ASP.NET Providers.pdf</FONT></A><FONT color=#000000>. </FONT></P>
<H4 class=dtH1><FONT color=#000000>Contents</FONT></H4>
<P><B><FONT color=#000000>Microsoft ASP.NET 2.0 Providers: Introduction</FONT></B><BR><A href="https://msdn.microsoft.com/library/en-us/dnaspp/html/asp2prvdr02.asp"><FONT color=#0000ff>Membership Providers</FONT></A><BR><A href="https://msdn.microsoft.com/library/en-us/dnaspp/html/asp2prvdr03.asp"><FONT color=#0000ff>Role Providers</FONT></A><BR><A href="https://msdn.microsoft.com/library/en-us/dnaspp/html/asp2prvdr04.asp"><FONT color=#0000ff>Site Map Providers</FONT></A><BR><A href="https://msdn.microsoft.com/library/en-us/dnaspp/html/asp2prvdr05.asp"><FONT color=#0000ff>Session State Providers</FONT></A><BR><A href="https://msdn.microsoft.com/library/en-us/dnaspp/html/asp2prvdr06.asp"><FONT color=#0000ff>Profile Providers</FONT></A><BR><A href="https://msdn.microsoft.com/library/en-us/dnaspp/html/asp2prvdr07.asp"><FONT color=#0000ff>Web Event Providers</FONT></A><BR><A href="https://msdn.microsoft.com/library/en-us/dnaspp/html/asp2prvdr08.asp"><FONT color=#0000ff>Web Parts Personalization Providers</FONT></A></P>
<P><FONT color=#0000ff><FONT color=#000000>Click here to download</FONT> </FONT><A href="https://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi"><FONT color=#0000ff>ProviderToolkitSamples.msi</FONT></A><FONT color=#0000ff>.</FONT></P></SPAN>
<P class=MsoNormal style="MARGIN: 0in 0in 6pt 18.75pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto"><SPAN style="FONT-SIZE: 8pt; COLOR: #cccccc; FONT-FAMILY: 'Verdana','sans-serif'"><FONT style="BACKGROUND-COLOR: #ffffff" color=#000000>Find the file AuthStoreRoleProvider.cs.txt </FONT></SPAN><SPAN style="FONT-SIZE: 8pt; COLOR: #cccccc; FONT-FAMILY: 'Verdana','sans-serif'"></P></SPAN>
<P class=MsoNormal style="MARGIN: 0in 0in 6pt 18.75pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto"><SPAN style="FONT-SIZE: 8pt; COLOR: #cccccc; FONT-FAMILY: 'Verdana','sans-serif'"><FONT style="BACKGROUND-COLOR: #ffffff" color=#000000>Regards,</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 6pt 18.75pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto"><SPAN style="FONT-SIZE: 8pt; COLOR: #cccccc; FONT-FAMILY: 'Verdana','sans-serif'"><FONT style="BACKGROUND-COLOR: #ffffff" color=#000000>David</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 6pt 18.75pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto"><SPAN style="FONT-SIZE: 8pt; COLOR: #cccccc; FONT-FAMILY: 'Verdana','sans-serif'"><FONT style="BACKGROUND-COLOR: #000000"></FONT></SPAN>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>How to use ADAM Principals in Authorization Manager (AzMan) for Fine Grain Authorization</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/how-to-use-adam-principals-in-authorization-manager-azman-for-fine-grain-authorization</link>
      <pubDate>Sat, 06 May 2006 11:39:00 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2006/05/06/how-to-use-adam-principals-in-authorization-manager-azman-for-fine-grain-authorization/</guid>
      <description><![CDATA[Check out this really cool post from the AzMan Team blog!...]]></description>
      <content:encoded><![CDATA[<P>Check out this really cool post from the AzMan Team blog! <A href="/azman/archive/2006/05/06/591230.aspx">https://blogs.msdn.com/azman/archive/2006/05/06/591230.aspx</A>&nbsp;</P>
<P>The ADAM and AzMan teams got together to show how to use ADAM principals with AzMan.&nbsp; Sudheer, Authorization Manager Team, provides a description and csharp / C# code from that effort. Note: you need to be using Windows&nbsp;2003&nbsp;SP 1, the updated Win2k3 Admin Pack for XP or the updated Win2k backport.&nbsp; </P>
<P>Regards,<BR>David</P>
<P>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Random Thoughts on Optimization and Choices with Authorization Manager - Windows 2003 SP 1 - article</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/random-thoughts-on-optimization-and-choices-with-authorization-manager-windows-2003-sp-1-article</link>
      <pubDate>Wed, 05 Apr 2006 21:16:00 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2006/04/05/random-thoughts-on-optimization-and-choices-with-authorization-manager-windows-2003-sp-1-article/</guid>
      <description><![CDATA[Another new article by yours truly...
Random Thoughts on Optimization and Choices with...]]></description>
      <content:encoded><![CDATA[<P>Another new article by yours truly...</P>
<P>Random Thoughts on Optimization and Choices with Authorization Manager - Windows 2003 SP 1&nbsp; <A HREF="/dc995/articles/569487.aspx">https://blogs.msdn.com/dc995/articles/569487.aspx</A><BR>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Random Thoughts on Optimization and Choices with Authorization Manager - Windows 2003 SP 1</title>
      <link>https://docs.microsoft.com/archive/blogs/dc995/random-thoughts-on-optimization-and-choices-with-authorization-manager-windows-2003-sp-1</link>
      <pubDate>Wed, 05 Apr 2006 20:37:00 GMT</pubDate>
      <dc:creator><![CDATA[David Crawford - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dc995/2006/04/05/random-thoughts-on-optimization-and-choices-with-authorization-manager-windows-2003-sp-1/</guid>
      <description><![CDATA[The following is my opinion...&nbsp;and my opinion&nbsp;may change based on the context that the...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 0pt">The following is my opinion...&nbsp;and my opinion&nbsp;may change based on the context that the individual items are placed.&nbsp; With that said... I hope you find them useful.</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><A name=OLE_LINK2></A>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><A name=OLE_LINK1><SPAN style="mso-bookmark: OLE_LINK2"><STRONG><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Store Selection</SPAN></STRONG></SPAN></A><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">: prefer AD to leverage existing investment in availability and performance&nbsp;then ADAM (functional mode, political, organization policies, etc)</SPAN></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><STRONG><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p>&nbsp;</o:p></SPAN></STRONG></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><STRONG><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Authentication: </SPAN></STRONG></SPAN></SPAN><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">prefer AD to take advantage of multiple client context initialization e.g. token/name/sid.&nbsp; ADAM is very popular for Internet access however&nbsp;some additional code is required&nbsp;for&nbsp;SID/role population in security client context. Another cool part about the <BR>Win2k3 SP 1 update is that it possible to use dynamic ldap query groups with ADAM. The binding is signed and sealed... so&nbsp;pointing to an ldap store other than ADAM is not supported.&nbsp; Another thing to note... since the coder is doing the pointing on an attribute of the client context,&nbsp; it is possible for that coder to point to the wrong DN.&nbsp;Check out </SPAN></SPAN></SPAN><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">ADFS which may use AD or ADAM as the&nbsp;AuthN store&nbsp;for claims based applications and utilize AzMan as the transformation engine between ADFS claims and either AzMan application groups or directly to roles.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>There is a small bit of code with an example pending in a future ADFS SDK.</SPAN></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"></SPAN></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><STRONG><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Performance:</SPAN></STRONG></SPAN></SPAN><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp; </SPAN></SPAN></SPAN></P>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l17 level1 lfo1; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Use AD principal - use initialize client context from token when possible </SPAN></SPAN></SPAN><A href="https://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthz/security/iazapplication2_initializeclientcontextfromtoken2.asp?frame=true"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">https://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthz/security/iazapplication2_initializeclientcontextfromtoken2.asp?frame=true</SPAN></SPAN></SPAN><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"></SPAN></SPAN></A><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;</SPAN></SPAN></SPAN></LI></UL>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.25in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">reducing the additional (internal) call to populate security context sids.</SPAN> </SPAN></SPAN></P>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo2; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Wrap large number of users in AD groups so that the only compare required is against the group Sid. </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l16 level1 lfo3; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Use scopes where applicable.&nbsp; </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l11 level1 lfo4; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Minimize usage of dynamic query groups when you want to reduce lookup times.&nbsp; </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo5; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Make judicious use of business rules. Keep them short.</SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l7 level1 lfo6; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Try to limit Application groups to fewer than 1000 members if possible reducing lookup time. The load time is reduced with a smaller dataset size of SIDs.</SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l13 level1 lfo7; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">If unable to move domain to Win2k3 functional mode use ADAM and load balance for performance and availability.&nbsp;Check&nbsp;performance counters and network health.&nbsp;Test and tune.&nbsp; Remember that a server needs to be listed when using ADAM e.g. there is no server-less bind e.g. for ADAM msldap://myserver:50000/CN=azstore;CN=azmanapps;DN=foo;DN=COM vs AD with CN=azstore;CN=azmanapps;DN=foo;DN=COM </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l14 level1 lfo8; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">When using AD ensure a healthy directory/infrastructure.&nbsp; Validate/identify DC that is being utilized for lookups and try to have it relatively close in proximity. </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l15 level1 lfo9; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Utilize Win2k3 SP1 and new interfaces for better performance including store creation/population </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l6 level1 lfo10; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Avoid role bloating - favor scopes. </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo11; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Utilize trusted subsystem model for store access as opposed to impersonation model where all end users get some level of access to the authorization store itself. Avoid impersonation model on win2k if possible. There is also a different API </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l8 level1 lfo12; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Note transactions are not supported but multiuser access and administration is when using other than XML store.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>XML store will support multiple reads but when using .NET use locks or catch errors on access.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>When reading, the whole XML store loads and writing the whole XML writes to disk.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>AD and ADAM utilize a lazy load mechanism where gathering data is done as needed. Caching grows to the size of the store for each process with it open.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The largest store that I have personally seen is 15 MB.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I would like to hear about any greater than than.</SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l10 level1 lfo13; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Design audit information for clarity per the accesscheck </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l5 level1 lfo14; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">For code readability you may choose to enumerations or constants for your operations </SPAN></SPAN>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l5 level1 lfo14; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Delegation is possible with AD</SPAN></SPAN> 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l5 level1 lfo14; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Remember to see the operations that the MMC (AzMan.msc) must be in developer mode otherwise it only shows tasks (which is the level that most admins would look at anyway)<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Tasks being a logical grouping of low level operations that make up a role definition.</SPAN></SPAN> 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l5 level1 lfo14; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Reduce network calls through multiple ops in accesschecks when possible. When using .NET – I recommend wrapping the result of the accesscheck from S_OK which equals 0 to either a Boolean response of True or False or returning an array/list of the same</SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l12 level1 lfo15; tab-stops: list .5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">Check out existing docs </SPAN></SPAN></LI></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<UL style="MARGIN-TOP: 0in" type=circle>
<UL style="MARGIN-TOP: 0in" type=square>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l9 level3 lfo16; tab-stops: list 1.5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"></SPAN></SPAN><A href="https://msdn.microsoft.com/msdnmag/issues/03/11/AuthorizationManager/"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">https://msdn.microsoft.com/msdnmag/issues/03/11/AuthorizationManager/</SPAN></SPAN><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"></SPAN></SPAN></A><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">&nbsp; </SPAN></SPAN></LI></UL></UL></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<UL style="MARGIN-TOP: 0in" type=circle>
<UL style="MARGIN-TOP: 0in" type=square>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l4 level3 lfo17; tab-stops: list 1.5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"></SPAN></SPAN><A href="https://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/management/athmanwp.mspx"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">https://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/management/athmanwp.mspx</SPAN></SPAN><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"></SPAN></SPAN></A><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"> </SPAN></SPAN></LI></UL></UL></UL>
<UL style="MARGIN-TOP: 0in" type=disc>
<UL style="MARGIN-TOP: 0in" type=circle>
<UL style="MARGIN-TOP: 0in" type=square>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level3 lfo18; tab-stops: list 1.5in"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"></SPAN></SPAN><A href="https://support.microsoft.com/"><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2">https://support.microsoft.com</SPAN></SPAN><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"></SPAN></SPAN></A><SPAN style="mso-bookmark: OLE_LINK1"><SPAN style="mso-bookmark: OLE_LINK2"> </SPAN></SPAN></LI></UL></UL></UL><SPAN style="mso-bookmark: OLE_LINK2"></SPAN><SPAN style="mso-bookmark: OLE_LINK1"></SPAN>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p>&nbsp;</o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">Check out the AzMan Team Blog <A HREF="/azman">https://blogs.msdn.com/azman</A> !</P>]]></content:encoded>
    </item>
  </channel>
</rss>