<?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>Another SharePoint blog....</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/mahesm/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/mahesm/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:27:52 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Configure Disaster Recovery Farm with SharePoint 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/mahesm/configure-disaster-recovery-farm-with-sharepoint-2010</link>
      <pubDate>Fri, 30 Apr 2010 18:48:00 GMT</pubDate>
      <dc:creator><![CDATA[maheshwarm]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mahesm/2010/04/30/configure-disaster-recovery-farm-with-sharepoint-2010/</guid>
      <description><![CDATA[If you haven't read and still looking for the information on DR farm configuration with MOSS 2007...]]></description>
      <content:encoded><![CDATA[<p>If you haven't read and still looking for the information on DR farm configuration with MOSS 2007 then you can refer the <a target="_blank" href="https://technet.microsoft.com/en-us/library/dd890507.aspx">TechNet</a> article. In this post i have explained how to configure the DR farm with SharePoint 2010 and what are the improvements we have in SharePoint 2010 as compared to MOSS 2007.</p>
<p>You can configure SharePoint 2010 DR farm using SQL Log shipping or SQL database mirroring for SharePoint databases. Before i start SharePoint 2010 DR farm configuration, I want to give an overview of SQL database mirroring, SQL log shipping and what can be used. In this post i am going explain followings.</p>
<ol>
<li>Overview to SQL Database mirroring </li>
<li>Overview to SQL Log shipping </li>
<li>What can be used for SharePoint 2010 DR Farm configuration </li>
<li>SharePoint 2010 DR Farm configuration using SQL Database mirroring </li>
<li>SharePoint 2010 DR Farm configuration Using SQL Log Shipping </li>
<li>Comparison </li>
<li>Changes required when you failover </li>
</ol>
<p><span style="color: #800000;">Overview to SQL Database Mirroring:</span></p>
<p>Database mirroring feature is available in SQL 205 and SQL 2008. Its a solution to provide database high availability and its configured per-database basis. You can only configure the database mirroring for the databases that use the full recovery model. You cannot configure the database mirroring for the System Databases (<strong>master</strong>, <strong>msdb</strong>, <strong>tempdb</strong> &amp; <strong>model</strong>). </p>
<p>In database mirroring there will be 2 copies of a single database residing on 2 different SQL instance. One SQL server instance act as Primary server and holds the active databases. All the clients or applications connect to this database server. Other SQL Server instance act as Secondary server or mirror server which holds the hot or warm databases. Once the database mirroring has been configured and databases are synchronized state, failover can be performed without a loss of data. While you configure the SQL database mirroring you can also configure the <strong>Witness server</strong>. This is going to another SQL instance which would be monitoring the primary SQL server instance. If primary SQL Service fails then witness server will automatically failover the databases from primary SQL server instance to Secondary SQL server instance.</p>
<p>There are 2 operating modes for configuring Database mirroring:</p>
<ul>
<li><strong>Asynchronous:</strong> This doesn't need the Witness Instance, that means there is no automatic failover. Once the Database server is not available administrator to stop the database mirroring session manually. </li>
<li><strong>Synchronous:</strong> You can configure this with witness server (optional). If you configure with witness server then you get the advantage of automatic failover feature. However, automatic failover requires both the databases to synchronized. </li>
</ul>
<p>Lets look at the advantages and disadvantages of database mirroring.</p>
<ul>
<li>Database Mirroring Advantages: 
<ul>
<li>Easy setup and maintenance </li>
<li>Real-time synchronization of transaction log </li>
<li>Automated failover (in High Availability Mode, Witness Server Instance required) </li>
<li>Fast &amp; easy Failover </li>
<li>Using connection strings you can make your application mirroring aware or using SQL alias. </li>
</ul>
</li>
<li>Database Mirroring limitations: 
<ul>
<li>Database mirroring is configured per database not per SQL server Instance. </li>
<li>Mirror database always in recovery mode and this database can&rsquo;t be used for any purpose or database queries. </li>
<li>Database mirroring can only configured for one database to another database. There can&rsquo;t be more secondary server. </li>
<li>Database mirroring can&rsquo;t be configured for once database once than once. </li>
</ul>
</li>
</ul>
<table cellpadding="2" cellspacing="0" border="0" style="width: 1132px;">
<tbody>
<tr>
<td width="1130" valign="top"><strong>Note:- </strong>Database mirroring can be configured for the databases having <strong>Full Recovery Model</strong>. Database mirroring can not be configured for the databases which is using Simple Recovery Model.</td>
</tr>
</tbody>
</table>
<p><span style="color: #800000;">Overview to SQL log Shipping:</span></p>
<p>SQL log shipping allows to backup the transaction logs from primary SQL Server instance in regular interval to one or multiple secondary SQL Server instance. Transaction log backup are restored to all the Secondary SQL Server instances individually. SQL Log Shipping consist of 3 operations:</p>
<ul>
<li>Backup transaction log from the primary server </li>
<li>Copy the transaction log backup to the secondary server or secondary servers </li>
<li>Restore the transaction log backup to the secondary server instance </li>
</ul>
<p>Above 3 operation will create 3 jobs on SQL Servers. Backup Job will be only available on Primary SQL Server instance. However, Secondary SQL Server instance contains the Copy job and Restore job. All these job executes in regular interval and you can define the time. SQL agent service has to be on running for log shipping.</p>
<ul>
<li>Log Shipping Advantages: 
<ul>
<li>Flexibility to backup, copy and restore the transaction logs. </li>
<li>Due to scheduled jobs database corruption can be avoided. </li>
<li>Multiple secondary databases can be configured </li>
<li>Secondary databases are in read-only and standby mode and can queried if required. </li>
<li>Log shipping allows multiple standby databases </li>
<li>Log Shipping disadvantages: </li>
</ul>
</li>
<li>Log Shipping Disadvantages: 
<ul>
<li>No option for automatic failover </li>
<li>Minimum time to synchronize is a min. which can be configured.&nbsp; </li>
<li>For failover need to execute SQL Query. not simple as database mirroring. </li>
</ul>
</li>
</ul>
<table cellpadding="2" cellspacing="0" border="0" style="width: 1059px;">
<tbody>
<tr>
<td width="1057" valign="top"><strong>Note:- </strong>Transaction Log Shipping can be configured for the databases having <strong>Full Recovery Model</strong>. It can not be configured for the databases which is using Simple Recovery Model.</td>
</tr>
</tbody>
</table>
<p><span style="color: #800000;">What can be used for SharePoint 2010 DR Farm Configuration:</span></p>
<p>For SharePoint 2010 Disaster Recovery Farm configuration you can use both. However, if you use Database mirroring then databases on Secondary SQL Server or Databases on Secondary Datacenter will be on restoration mode which you cant attach to the web application. I would always recommend to use SQL log shipping for SharePoint 2010 DR Farm configuration. Again, SQL database mirroring is mostly used for HA and SQL log shipping is used for DR. On this post i will be explaining DR farm configuration with both and compare at the end so you can choose what's best for you.</p>
<p><span style="color: #800000;">SharePoint 2010 DR Farm Configuration using database mirroring:</span></p>
<p>To configure the DR Farm using Database mirroring, you need to start a fresh installation of SharePoint 2010 on Secondary Datacenter. You should have below:</p>
<ul>
<li>Install and Configure SharePoint 2010 Farm in Secondary datacenter in same AD Forest using Primary SharePoint farm Service accounts </li>
<li>Install the customizations which are present on primary farm </li>
<li>Create all the web applications which are present on primary farm </li>
<li>Create all the Service applications </li>
<li>Detach the content databases from the web applications and delete the content databases </li>
<li>Configure the mirroring only for content databases from Primary SQL server to Secondary SQL server. By Default all the content databases uses Full Recovery Model. If you have changed the Recovery Model for to simple for any content databases, it will not allow you to configure database mirroring unless you change the recovery model back to full recovery model. </li>
<li>Create database mirroring without the Witness server for all the SharePoint Content Databases only. No witness server required as database mirroring would be used for High Availability and auto-failover is not required </li>
</ul>
<p>To configure Database mirroring using SQL management Studio you can follow the <a target="_blank" href="https://msdn.microsoft.com/en-us/library/ms188712.aspx">MSDN Article</a>.</p>
<table cellpadding="2" cellspacing="0" border="0" style="width: 1276px;">
<tbody>
<tr>
<td width="1274" valign="top">
<p><strong>Note:- </strong></p>
<ul>
<li>Do not configure database mirroring with Witness Server. </li>
<li>Database status on Primary SQL server would be <strong>&ldquo;(Principal, Synchronized)&rdquo;</strong>. It might take a while to reach that status. </li>
<li>Database status on Secondary SQL server would be <strong>&ldquo;(Mirror, Synchronized / Restoring..)&rdquo;</strong> </li>
<li>As soon as the database mirroring has been configured transfer the SQL logins from Primary SQL Server to Secondary SQL Server following <a target="_blank" href="https://support.microsoft.com/kb/246133">Support Article</a>. If you feel following support article is difficult then you need to create the logins manually, assign them appropriate roles. If you don&rsquo;t transfer the SQL logins then after fail over you will not be able to connect to SQL databases and you will be receiving errors on SharePoint servers. </li>
<li>On Secondary SQL Server, you cant change the database status from SQL management Studio. To change the status of the database you need to execute the below SQL query: </li>
</ul>
<pre><span style="font-family: Segoe UI; color: #000080;"><strong>ALTER DATABASE ContentDatabaseName SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS</strong></span></pre>
</td>
</tr>
</tbody>
</table>
<p><strong></strong>&nbsp;<span style="color: #800000;">SharePoint 2010 DR Farm Configuration using database log shipping:</span></p>
<p>To configure the DR Farm using database log shipping, you need to start a fresh installation of SharePoint 2010 on Secondary Datacenter. You should have below:</p>
<ul>
<li>Install and Configure SharePoint 2010 Farm in Secondary datacenter in same AD Forest using Primary SharePoint farm Service accounts </li>
<li>Install the customizations which are present on primary farm </li>
<li>Create all the web applications which are present on primary farm </li>
<li>Create all the Service applications </li>
<li>Detach the content databases from the web applications and delete the content databases </li>
<li>Create the log shipping for the content databases only. By Default all the content databases uses Full Recovery Model.If you have changed the Recovery Model for to simple for any content databases, it will not allow you to configure database mirroring unless you change the recovery model back to full recovery model. </li>
</ul>
<p>To configure Database log shipping using SQL management Studio you can follow the <a target="_blank" href="https://msdn.microsoft.com/en-us/library/ms190640.aspx">MSDN Article</a>.</p>
<table cellpadding="2" cellspacing="0" border="0" style="width: 1282px;">
<tbody>
<tr>
<td width="1280" valign="top">
<p><strong>Note:- </strong></p>
<ul>
<li>Database status on the Secondary Server would be &ldquo;<strong>Stand by / Read-only</strong>&rdquo;. </li>
<li>As soon as the database log shipping has been configured transfer the SQL logins from Primary SQL Server to Secondary SQL Server following <a target="_blank" href="https://support.microsoft.com/kb/246133">Support Article</a>. If you feel following support article is difficult then you need to create the logins manually, assign them appropriate roles. </li>
<li>On Secondary SQL Server, you cant change the database status from SQL management Studio. To change the status of the database you need to execute the below SQL query: </li>
</ul>
<p><strong><span style="color: #000080;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RESTORE DATABASE contentdbname WITH RECOVERY</span></strong></p>
</td>
</tr>
</tbody>
</table>
<p><span style="color: #800000;">Comparison of using SQL database mirroring or Log Shipping for SharePoint DR farm.</span></p>
<p><strong>Database Mirroring</strong><span style="color: #800000;">:</span></p>
<ul>
<li>In database mirroring Real time transaction log shipping to secondary SQL Server. Incase of primary SQL server failure latest information will be available on Secondary SQL Server. </li>
<li>As Database on Secondary SQL Server would be &ldquo;Mirror, Synchronized / Restoring&rdquo; We will not be able to attach the databases to web application on DR farm. Incase of Failover we will need to make the databases active and attach the databases to web applications. </li>
<li>After failover when we attach the content database to the web application, it will automatically refresh the site map on Configuration database. </li>
<li>As we cant attach the databases to the web applications, Search Service Application wont be able to crawl the content. After Fail-over you need to crawl the content. </li>
<li>When failover happens we need to run SQL script to make the all content databases writeable. </li>
</ul>
<p><strong>Database Log Shipping</strong></p>
<ul>
<li>In Log shipping transaction log backup, copy and restore happens on scheduled time (Minimum time 1Min). Incase of fail-over from primary SQL Server to Secondary SQL Server we might loose some data if that's not restored on SQL Secondary SQL Server or manually restore the transaction log backup to Secondary SQL Server database. </li>
<li>As Database on Secondary SQL Server would be &ldquo;Stand by/ Read-only&rdquo; It will allow you to attach the databases to web application on DR farm and we can crawl the content using Search Service Application. </li>
<li>As the databases are attached to the web application we can run a script to refresh the Site Map on Configuration database. </li>
<li>As we cant attach the databases to the web applications, Search Service Application wont be able to crawl the content. After Fail-over you need to crawl the content. </li>
<li>When failover happens we need to run SQL script to make the all content databases writeable. </li>
</ul>
<p><span style="color: #800000;">Changes required when you failover from Primary SharePoint 2010 to SharePoint 2010 DR Farm.</span></p>
<p>If you are using SQL database mirroring:</p>
<ul>
<li>On the DNS Server make the changes so that all the request can be reached to DR Farm SharePoint 2010 WFEs. </li>
<li>Run the SQL Query to make the database active. <span style="font-size: xx-small;"><span style="color: #0000a0;">(<strong>ALTER DATABASE ContentDatabaseName SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS)</strong></span></span> </li>
<li>Attach content databases to the web applications. </li>
<li>Start a full Crawl process on Search Server. </li>
</ul>
<p>If you are using SQL database log shipping:</p>
<ul><li>On the DNS Server make the changes so that all the request can be reached to DR Farm SharePoint 2010 WFEs. </li>
<li>Restore all the pending transaction logs backup to database. </li>
<li>Run the SQL Query to make the database active. <span style="font-size: xx-small;"><span style="color: #0000a0;">(</span><strong><span style="color: #000080;">RESTORE DATABASE contentdbname WITH RECOVERY</span></strong><span style="color: #0000a0;"><strong>)</strong></span></span> </li>
<li>Start an Incremental Crawl process on Search Server.
<p>After knowing both the options, now you can choose between database mirroring and Database log shipping for DR farm configuration.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Configure Forms Based Authentication (FBA) with SharePoint 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/mahesm/configure-forms-based-authentication-fba-with-sharepoint-2010</link>
      <pubDate>Wed, 07 Apr 2010 15:10:00 GMT</pubDate>
      <dc:creator><![CDATA[maheshwarm]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mahesm/2010/04/07/configure-forms-based-authentication-fba-with-sharepoint-2010/</guid>
      <description><![CDATA[I got requests may times and I thought I should write the steps to configuration of FBA with...]]></description>
      <content:encoded><![CDATA[<P>I got requests may times and I thought I should write the steps to configuration of FBA with SharePoint 2010. I have detailed the steps in this blog. </P>
<P>SharePoint 2010 supports FBA, Like WSS 3.0 or MOSS 2007. It's a feature of ASP .Net which we use with SharePoint. SharePoint 2010 you can create web applications using Classic Based Authentication or Claims based Authentication. However, FBA can only be configured with web applications created using Claims Based Authentication. </P>
<P>What are the differences between Classic Mode Authentication and Claims based Authentication? </P>
<P><STRONG>Classic Mode Authentication: </STRONG>It refers to the integrated windows authentication. You cannot configure the Forms based authentication if your web application is using Classic Mode Authentication. You can convert a web application from Classic Mode Authentication to Claims Based Authentication. However, that can only be done using PowerShell commands and its an irreversible process. I have detailed steps to convert the web application from Classic Mode authentication to Claims Based Authentication. </P>
<P><STRONG>Claims Based Authentication:</STRONG> SharePoint 2010 is built on Windows Identity Foundation. It enables authentication from windows as well as non-windows based systems. This also provides the capability to have multiple authentication in a single URL. </P>
<P>Configuration of FBA with SharePoint 2010 involves 4 major steps. The steps to configure the FBA with SQL membership Provider are below: </P>
<P><B>I&gt; Create or Convert existing web applications to use Claims Based Authentication</B> </P>
<P><B>II&gt; Create User IDs in SQL Database</B> </P>
<P><B>III&gt; Modify web.config file</B> </P>
<P><B>IV&gt; Give Permissions to users present in SQL database</B> </P>
<P><STRONG>Note:</STRONG> If you want to configure FBA with LDAP membership Provider then you can refer <A href="https://technet.microsoft.com/en-us/library/ee806890(office.14).aspx" mce_href="https://technet.microsoft.com/en-us/library/ee806890(office.14).aspx"><U>TechNet</U></A> article. </P>
<P>Please find the detailed steps below: </P>
<P><STRONG>I&gt; Create or Convert existing web applications to use Claims Based Authentication</STRONG> </P>
<P><STRONG>Note: -</STRONG> Web Application has to be created from the Central Administration console or PowerShell, however it should be using <B>Claims Based Authentication</B>. </P>
<BLOCKQUOTE>
<P>A. Creating web application using Central administration</P></BLOCKQUOTE>
<UL>
<UL>
<UL>
<LI>Open Central Administration Console. 
<LI>Click on Manage Web application Under Application Management. 
<LI>Click on new on the Ribbon. 
<LI>Chose Claims based Authentication From the top of the page. 
<LI>Choose the port no for the web application. 
<LI>Click on <STRONG>Enable Forms Based Authentication (FBA)</STRONG> Under Claims Authentication Types. Windows Authentication is enabled by default and if you dont need windows authentication then you need to remove the check the box. 
<LI>Add the Membership Provider &amp; Role Manager Name 
<LI>As soon as web application has been created please verify the Authentication Provider settings for the web application. I have the screenshot below: </LI></UL></UL></UL>
<P><A href="https://ypxqpa.blu.livefilestore.com/y1mrWjvF-OnIRKziOBWS6JXwhsQbVh95uuvdmIyyywwQBR1M8tWvR-ftjK1To0j5RHws_QogN7rXnXsbRmGpKaoEsezkDHL7Ruv5yqqdV9QGgpuaGCj5tQvswVE8179OoGoyBWsOuu7WR_WWzlPvrbR2Q/clip_image002[3].jpg" mce_href="https://ypxqpa.blu.livefilestore.com/y1mrWjvF-OnIRKziOBWS6JXwhsQbVh95uuvdmIyyywwQBR1M8tWvR-ftjK1To0j5RHws_QogN7rXnXsbRmGpKaoEsezkDHL7Ruv5yqqdV9QGgpuaGCj5tQvswVE8179OoGoyBWsOuu7WR_WWzlPvrbR2Q/clip_image002[3].jpg"><IMG title=clip_image002 border=0 alt=clip_image002 src="https://ypxqpa.blu.livefilestore.com/y1mX5thoxSkmdzeJf1eeqDgw_ZEOIMysBZLnfEIqS4noFgfPc01ATHHdB051QQ81X9m56q2sqeKOfCq7maN7taJt1wFHvbX4qQ1HnsE62U8hLRJVhwn82z8b3lbxxT0muZwK6frk87vap4JOCt4G94vKA/clip_image002_thumb.jpg" width=244 height=85 mce_src="https://ypxqpa.blu.livefilestore.com/y1mX5thoxSkmdzeJf1eeqDgw_ZEOIMysBZLnfEIqS4noFgfPc01ATHHdB051QQ81X9m56q2sqeKOfCq7maN7taJt1wFHvbX4qQ1HnsE62U8hLRJVhwn82z8b3lbxxT0muZwK6frk87vap4JOCt4G94vKA/clip_image002_thumb.jpg"></A> </P>
<P><STRONG>Note:-</STRONG> If you want to use Windows Authentication and Forms Based Authentication in Single URL then you have to select <STRONG>Enable Windows Authentication</STRONG> and <STRONG>Enable Forms Based Authentication</STRONG>. </P>
<P><A href="https://ypxqpa.blu.livefilestore.com/y1mqrgzZiP0LjMwgxhxKAiZvD6d2D5DaLTrRMBNfzqPuAjZAVtx2WMq2mscrB2KXz6KTYnyWZbXlN56ihb7ayxNDujxRPEwL-m7RE-ehrBCKrdnlThIcLAEJ6Cp5tYJqJmfiv5cVUCXkFONLWaHSr32kg/image[2].png" mce_href="https://ypxqpa.blu.livefilestore.com/y1mqrgzZiP0LjMwgxhxKAiZvD6d2D5DaLTrRMBNfzqPuAjZAVtx2WMq2mscrB2KXz6KTYnyWZbXlN56ihb7ayxNDujxRPEwL-m7RE-ehrBCKrdnlThIcLAEJ6Cp5tYJqJmfiv5cVUCXkFONLWaHSr32kg/image[2].png"><IMG title=image border=0 alt=image src="https://ypxqpa.blu.livefilestore.com/y1mSRM8IokFh9nt-WeHox0tAPnHBZFUebadaJCuXD8fNPfwO16CkRLfnL6v2OpdyIzhQrwWMJww02pN4Jw_YBCm0UUGsP0r_j-tqydT_vmaMtzLe4reX2Lnbceaf5wiu6re7_2xTq-sUIBRS8lateewmw/image_thumb.png" width=244 height=129 mce_src="https://ypxqpa.blu.livefilestore.com/y1mSRM8IokFh9nt-WeHox0tAPnHBZFUebadaJCuXD8fNPfwO16CkRLfnL6v2OpdyIzhQrwWMJww02pN4Jw_YBCm0UUGsP0r_j-tqydT_vmaMtzLe4reX2Lnbceaf5wiu6re7_2xTq-sUIBRS8lateewmw/image_thumb.png"></A> </P>
<P><STRONG>Note:-</STRONG> Just for understanding, i am using Membership Provider as “<STRONG>SQL-MembershipProvider</STRONG>” and Role Manager as “<STRONG>SQL-RoleManager</STRONG>”. You can use different names, however you need to remember the name so that you can refer them in web.config files. These names are case sensitive. </P>
<BLOCKQUOTE>
<P>B. What if you already have a Web application created using Classic Mode Authentication or How to convert Web application from Classic Mode authentication to Claims based Authentication? </P>
<P>You don’t have to delete that web application. You can convert that web application from classic mode authentication to claims based authentication. However this can only be done using PowerShell and it’s an irreversible process. Follow PowerShell commands to convert the web application from Classic Mode Authentication to Claims based Authentication: </P>
<P>$App = get-spwebapplication “URL” </P>
<P>$app.useclaimsauthentication = “True” </P>
<P>$app.Update() </P>
<P><B>Example:-</B> </P>
<P>$App = get-spwebapplication “https://sp1:8000” </P>
<P>$app.useclaimsauthentication = “True” </P>
<P>$app.Update() </P>
<P>Once you have the web application using Claims Based Authentication, you can create a site collection. Now if you access the web application, you can access the site choosing Windows Authentication or Forms Based Authentication as shown in below image. </P>
<P><A href="https://ypxqpa.blu.livefilestore.com/y1mk9vdMMz1q7jDtYjYPxyBEZzJ2FVlDpp6hVx5NZSniQKF_md4G9w8ZLSowh2AotkD5rKdYH3W4QCJueOrl7ZwSnHpWCCqd5wxHYjYaeqjhdkf0Sv37l7of1YCDYvFBQgsSlhlIlFHVivNi_fpyiRlnw/clip_image004[3].jpg" mce_href="https://ypxqpa.blu.livefilestore.com/y1mk9vdMMz1q7jDtYjYPxyBEZzJ2FVlDpp6hVx5NZSniQKF_md4G9w8ZLSowh2AotkD5rKdYH3W4QCJueOrl7ZwSnHpWCCqd5wxHYjYaeqjhdkf0Sv37l7of1YCDYvFBQgsSlhlIlFHVivNi_fpyiRlnw/clip_image004[3].jpg"><IMG title=clip_image004 border=0 alt=clip_image004 src="https://ypxqpa.blu.livefilestore.com/y1mr92V05coZMqB0zwawhnL1rY_A19YhpqAN26wN7kxG6Kli1-saPb25HbFbdz9KNKaXcj3UidWgdS1lWCkuQJiCMLgMMTl1xZK-7EaOng4DBMvmK9QETvsIdsLAeqIZdOs2zwVTzAMgrqM3kpXhpX88Q/clip_image004_thumb.jpg" width=244 height=100 mce_src="https://ypxqpa.blu.livefilestore.com/y1mr92V05coZMqB0zwawhnL1rY_A19YhpqAN26wN7kxG6Kli1-saPb25HbFbdz9KNKaXcj3UidWgdS1lWCkuQJiCMLgMMTl1xZK-7EaOng4DBMvmK9QETvsIdsLAeqIZdOs2zwVTzAMgrqM3kpXhpX88Q/clip_image004_thumb.jpg"></A> </P>
<P>Choose windows authentication and login to site. When you login your currently logged in credentials will be used. Make sure the account you are logged in with has access to SharePoint site; Otherwise, you will get access denied error.</P></BLOCKQUOTE>
<P><B>II&gt; </B><B>Configure the Membership Provider and Role Manager.</B> </P>
<BLOCKQUOTE>
<UL>
<LI>On SharePoint 2010 server open the command prompt. 
<LI>Navigate to C:\Windows\Micrsooft .Net\Framework64\v2.0.50727 
<LI>Run “<B>aspnet_regsql.exe</B>”. This will open ASP .Net SQL Server Setup wizard. On this click on NEXT. </LI></UL>
<P><A href="https://ypxqpa.blu.livefilestore.com/y1m5hrj_hHCbv2xjofd80CBEwsf1BWC0mwdbcHicVnvk6rNjrXBP2Ic-Dm2atd2KBIcb7PzreFs_htcZBNiZo7vEiofpSDP5dyuqfHkxyAh0AdeHbNDSEl-xJYtn_yNmh3hWTXSFnAn6L9eLth0TYuBqw/clip_image006[3].jpg" mce_href="https://ypxqpa.blu.livefilestore.com/y1m5hrj_hHCbv2xjofd80CBEwsf1BWC0mwdbcHicVnvk6rNjrXBP2Ic-Dm2atd2KBIcb7PzreFs_htcZBNiZo7vEiofpSDP5dyuqfHkxyAh0AdeHbNDSEl-xJYtn_yNmh3hWTXSFnAn6L9eLth0TYuBqw/clip_image006[3].jpg"><IMG title=clip_image006 border=0 alt=clip_image006 src="https://ypxqpa.blu.livefilestore.com/y1m9ooPdddc7X2ahyZm5ncXgC0I2FECSIWsp_okdhMFQDvqEWSPu4wCvhU99O-DSKkmUEauqDYBAvd0THY9xha7BGTyPkyq1v3ibXqJkKxLuTUH4hVnAOrTV3PAcvBFq8agUGb9BTRwHwXcWrd_xp7D7Q/clip_image006_thumb.jpg" width=244 height=191 mce_src="https://ypxqpa.blu.livefilestore.com/y1m9ooPdddc7X2ahyZm5ncXgC0I2FECSIWsp_okdhMFQDvqEWSPu4wCvhU99O-DSKkmUEauqDYBAvd0THY9xha7BGTyPkyq1v3ibXqJkKxLuTUH4hVnAOrTV3PAcvBFq8agUGb9BTRwHwXcWrd_xp7D7Q/clip_image006_thumb.jpg"></A> </P>
<UL>
<LI>Click on “<B>Configure SQL Server for Application Services</B>”. 
<LI>Specify the Database name. If you don’t specify the database name then it will create a database call <STRONG>aspnetdb</STRONG>. </LI></UL>
<P><A href="https://ypxqpa.blu.livefilestore.com/y1m8Ji6wsbl85qaERCGIx-4bXRqpK92KptO03BMHdbrRqqoLFta76ZQ2poyM4N3HoUpQ7CbTi0sempWyhMKGH8kNVhHENSt0_d1Puv3nM5oeZqzrnPqWbK_8S8IF1blHJoet-hLWkcOsJz6zcthlc_uTQ/clip_image008[3].jpg" mce_href="https://ypxqpa.blu.livefilestore.com/y1m8Ji6wsbl85qaERCGIx-4bXRqpK92KptO03BMHdbrRqqoLFta76ZQ2poyM4N3HoUpQ7CbTi0sempWyhMKGH8kNVhHENSt0_d1Puv3nM5oeZqzrnPqWbK_8S8IF1blHJoet-hLWkcOsJz6zcthlc_uTQ/clip_image008[3].jpg"><IMG title=clip_image008 border=0 alt=clip_image008 src="https://ypxqpa.blu.livefilestore.com/y1mb0TEE1Mr78EZKviH9Twp49jAtT0zyXLTygJ9yE1acV--iMaOeZGbT9_dCgMbOmIJ1g4x6xmTmBUUNIgjFuijFhJs5OUYXduiUwwC9MlemOOosmR-nyu_UxBBaJQ3xG99PTSiS43LbxSCoGTKd8KppQ/clip_image008_thumb.jpg" width=244 height=190 mce_src="https://ypxqpa.blu.livefilestore.com/y1mb0TEE1Mr78EZKviH9Twp49jAtT0zyXLTygJ9yE1acV--iMaOeZGbT9_dCgMbOmIJ1g4x6xmTmBUUNIgjFuijFhJs5OUYXduiUwwC9MlemOOosmR-nyu_UxBBaJQ3xG99PTSiS43LbxSCoGTKd8KppQ/clip_image008_thumb.jpg"></A> </P>
<UL>
<LI>Use membershipseeder tool to create the users in SQL database. You can find the tool and information on that from <A href="https://cks.codeplex.com/releases/view/7450" mce_href="https://cks.codeplex.com/releases/view/7450">codeplex</A>. </LI></UL>
<P><STRONG>Note:-</STRONG> I have specified the database name as “<B>SQL-Auth</B>”.</P></BLOCKQUOTE>
<P><B></B></P>
<P><B>III&gt; M</B><B>odify the web.config file for Membership Provider and Role Manager.</B> </P>
<P>We need to modify 3 different web.config files for FBA to work. Web.config of FBA Web application, web.config of Central Administration Site &amp; Web.config of STS. </P>
<BLOCKQUOTE>
<P><STRONG>A. Modify web.config of FBA web application.</STRONG> </P>
<UL>
<LI><B>Add connection String:</B> </LI></UL>
<P>&lt;connectionStrings&gt; </P>
<P>&lt;add name="SQLConnectionString" connectionString="data source=SQL;Integrated Security=SSPI;Initial Catalog=SQL-Auth" /&gt; </P>
<P>&lt;/connectionStrings&gt; </P>
<P>Connection String has to be added after &lt;/SharePoint&gt; and Before &lt;system.web&gt; </P>
<UL>
<LI><B>Add membership Provider and Role Manager:</B> </LI></UL>
<P>&lt;roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false"&gt; </P>
<P>&lt;providers&gt; </P>
<P>&lt;add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /&gt; </P>
<P>&lt;add connectionStringName="SQLConnectionString" applicationName="/" description="Stores and retrieves roles from SQL Server" name="SQL-RoleManager" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /&gt; </P>
<P>&lt;/providers&gt; </P>
<P>&lt;/roleManager&gt; </P>
<P>&lt;membership defaultProvider="i"&gt; </P>
<P>&lt;providers&gt; </P>
<P>&lt;add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /&gt; </P>
<P>&lt;add connectionStringName="SQLConnectionString" passwordAttemptWindow="5" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" description="Stores and Retrieves membership data from SQL Server" name="SQL-MembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /&gt; </P>
<P>&lt;/providers&gt; </P>
<P>&lt;/membership&gt; </P>
<P>&lt;/system.web&gt; </P>
<P><STRONG>B. Modify web.config of the Central Administration web application.</STRONG> </P>
<UL>
<LI><B>Add connection String:</B> </LI></UL>
<P>&lt;connectionStrings&gt; </P>
<P>&lt;add name="SQLConnectionString" connectionString="data source=SQL;Integrated Security=SSPI;Initial Catalog=SQL-Auth" /&gt; </P>
<P>&lt;/connectionStrings&gt; </P>
<P>Connection String has to be added after &lt;/SharePoint&gt; and before &lt;system.web&gt; </P>
<UL>
<LI><B>Add membership Provider and Role Manager:</B> </LI></UL>
<P>&lt;roleManager defaultProvider="AspNetWindowsTokenRoleProvider" enabled="true" cacheRolesInCookie="false"&gt; </P>
<P>&lt;providers&gt; </P>
<P>&lt;add connectionStringName="SQLConnectionString" applicationName="/" description="Stores and retrieves roles from SQL Server" name="SQL-RoleManager" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /&gt; </P>
<P>&lt;/providers&gt; </P>
<P>&lt;/roleManager&gt; </P>
<P>&lt;membership defaultProvider="SQL-MembershipProvider"&gt; </P>
<P>&lt;providers&gt; </P>
<P>&lt;add connectionStringName="SQLConnectionString" passwordAttemptWindow="5" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" description="Stores and Retrieves membership data from SQL Server" name="SQL-MembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /&gt; </P>
<P>&lt;/providers&gt; </P>
<P>&lt;/membership&gt; </P>
<P><STRONG>C. Modify web.config of STS. You can locate the STS web.config from %programfiles%\common files\Microsoft Shared\web server extensions\14\WebServices\SecurityToken</STRONG> </P>
<P>&lt;connectionStrings&gt; </P>
<P>&lt;add name="SQLConnectionString" connectionString="data source=SQL;Integrated Security=SSPI;Initial Catalog=SQL-Auth" /&gt; </P>
<P>&lt;/connectionStrings&gt; </P>
<P>&lt;system.web&gt; </P>
<P>&lt;roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false"&gt; </P>
<P>&lt;providers&gt; </P>
<P>&lt;add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /&gt; </P>
<P>&lt;add connectionStringName="SQLConnectionString" applicationName="/" description="Stores and retrieves roles from SQL Server" name="SQL-RoleManager" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /&gt; </P>
<P>&lt;/providers&gt; </P>
<P>&lt;/roleManager&gt; </P>
<P>&lt;membership defaultProvider="i"&gt; </P>
<P>&lt;providers&gt; </P>
<P>&lt;add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /&gt; </P>
<P>&lt;add connectionStringName="SQLConnectionString" passwordAttemptWindow="5" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" description="Stores and Retrieves membership data from SQL Server" name="SQL-MembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /&gt; </P>
<P>&lt;/providers&gt; </P>
<P>&lt;/membership&gt; </P>
<P>&lt;/system.web&gt; </P>
<P>Above has to be added before &lt;/configuration&gt; </P></BLOCKQUOTE>
<P><B>IV&gt; </B><B>Give permissions to users in SQL database.</B> </P>
<BLOCKQUOTE>
<UL>
<LI>Access Central Administration console and click on manage web applications under Application Management. 
<LI>Select the web application and click on user Policy on ribbon. 
<LI>Click on Add user and select Default Zone. 
<LI>Now type the user name, add the user to the web application by defining appropriate permission. </LI></UL></BLOCKQUOTE>
<P><B></B></P>
<P><B>Common Issues:</B> </P>
<P>If you are using multiple service accounts as per TechNet article <A href="https://technet.microsoft.com/en-us/library/ee662513(office.14).aspx" mce_href="https://technet.microsoft.com/en-us/library/ee662513(office.14).aspx">Administrative and service accounts required for initial deployment (SharePoint Server 2010)</A> then you might not able to resolve the usernames or add the users to the web application. If you are using 3 different accounts (Farm Administrator account, Application pool account for web application and service application account) then you need to make sure that you have access to the SQL membership database (SQL-Auth). </P>
<P><STRONG>Important:</STRONG> </P>
<P><STRONG>What happens to FBA when we upgrade WSS 3.0 / MOSS 2007 to SharePoint 2010?</STRONG> </P>
<P>Before upgrading to SharePoint 2010 you need to remove the changes you have done to the web.config file. As soon as the process of upgrading finishes all the web applications will be upgraded; however, those will use Classic Mode Authentication. You can convert those web applications from Classic Mode Authentication to Claims Based Authentication. </P>]]></content:encoded>
    </item>
  </channel>
</rss>