<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>RSS DavidKiff.co.uk</title><description>Up-to-date RSS feed from David Kiff (DavidKiff.co.uk)</description><link>http://DavidKiff.co.uk/Blog.aspx</link><pubDate>Tue, 06 Jan 2009 10:22:25 GMT</pubDate><language>en</language><copyright>Copyright 2008, David Kiff</copyright><ttl>1440</ttl><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Tue, 23 Dec 2008 12:00:00 GMT</pubDate><category>Agile</category><title>Why bother Pair Programming?</title><description><![CDATA[ <h4>Introduction</h4>
<p>Whilst working in India, I had to persuade our development team why we should pair program and what benefits it is currently giving our UK Teams.  Here are a few of my thoughts used to persuade our development team, enough to give it ago.</p><p>Pair programming is where two developers work on the same machine.  One person is the driver, the other the navigator.  The driver performs the coding whilst the navigator is continually reading, spell-checking and reviewing the driver’s code; continually offering input and thinking through problems.</p><p>These roles are by no means fixed; the roles should be changed frequently, perhaps every hour or after a particular task.  If a test driven approach is being practiced, then a good way is to get one developer to write the test and the other the implementation; after the test passes the roles are then swapped, continually taking it in turns. If the driver finds a problem then there are two people to find a solution; typically two peoples input are better than one.</p><h4>Benefits</h4><p>No two people are the same.  This means that when pairing with someone it is likely the people will specialise in different things (in terms of technology and systems knowledge).  These skills are then transferred, proving a useful learning aid to one-another and having twice the skill to tackle the task.  This results in two developers being fully aware of the code and why it was implemented in that way.</p><p>Due to the constant review performed by the navigator, the chances are the code will be of a higher quality, every action must be justified to the other person in the pair and it is recommended that both parties question each other’s actions in a constructive way.  It is less likely to contain bugs and hacks that can cause maintenance problems later on and the developer will not be able to take short cuts, because both people have ownership which means both peoples reputation is on the line.  The code is often leaner and more precise because there are two people thinking of the best way to write the code, often one will have a better idea than the other; and of course these ideas will be interchanged throughout. </p><p>Quite often there will be a senior and junior developer paired, whilst this is great, two junior developers will still reap the benefits of pair programming.  The idea is not for the senior developer to preach to the junior developer, it is a collective effort and there will be times when the junior will come up with a better way of doing things.  Both parties will learn something from one another, the senior developer can also improve on his or hers coaching skills at the same time.  Just because a person is senior, it does not mean they have a laid back role to play and nor are they always right.  Pair programming will also make the senior guy know his stuff, because the junior developer is encouraged to ask questions.</p><p>The communication and team building aspects are strong advantages to pair programming; it gets developers talking and communicating ideas.  Pairing may be an invasive practice, although it can force a level of communication that would be hard to achieve through other methods.  Pair programming is also fun because it helps to build relationships and improve team moral.</p><p>Collective Ownership protects the companies investment, because it increases the bus factor (if one person gets hit by a bus, you still have other people that can maintain the code).  It has potentially serious consequences if only a single person can maintain a section of code.</p><p>Collective ownership is also a great benefit to the developer.  Previously they were responsible for a small chunk of code, where as now they can take collective ownership for the entire application, giving the developer a sense of being a part of something.</p><p>Maintenance would be easier because you have a minimum of two developers that know the system.</p><p>Pair programming is not about one guy doing the work and the other sitting there falling asleep at the wheel, it is about a continual dialog between the two pairs.  Quite often the response from management is productivity is cut in half; however this is not the case.  The code productivity is actually increased because developers can keep their focus for longer, because one of the pairs is right their keeping the other alert and productive- a constant monitoring in a friendly way!  There is little chance to get distracted to check your emails for an hour or browse the internet because the other pair won’t find that interesting.</p><p>It is also advisable to change machines often to shake things up and indentify potential deployment issues.  It is important that every developer has their environment setup in an identical fashion, to ensure that it is seamless when you move from machine to machine.</p><h4>Summary</h4><p>Finally, pair programming has a positive impact on development projects when done properly.  It positively improves the team by building and strengthening relationships.  It encourages coaching and learning between both pairs and addresses matters of code ownership, protecting the companies investment.  It improves the code base in terms of quality and ensures that it is always reviewed by a member of the team, reducing the likelihood of silly mistakes or potential bugs. </p> ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=32</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Sun, 27 Jul 2008 12:18:00 GMT</pubDate><category>ASP.NET</category><title>Generate Local Resource - Missing/Greyed out</title><description><![CDATA[ 
<p>
    For some reason my "Generate Local Resource" disappeared from the Tools menu in Visual Studio 2008.  
    To correct this follow these steps:
</p>
<ol>
    <li>Go to Tools &gt; Customise &gt; Commands Tab</li>
    <li>Select the Tools Category on the left</li>
    <li>Rearrange Commands &gt; Select the "Add..." button</li>
    <li>Select the "Tools" option on the left (in Categoris list box)</li>
    <li>Under commands select "Generate Local Resource"</li>
    <li>Select the Ok button then close the remaining windows.</li>
</ol>
<p>After adding the command back to the tools menu, it appeared Greyed out.  If you open an ASPX page and select Designer Mode, it will become active!</p>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=30</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Sun, 23 Mar 2008 09:54:00 GMT</pubDate><category>General</category><title>New smarter re-write!</title><description><![CDATA[ 
<p>
DavidKiff.co.uk has undergone a radical new re-write so it’s now easier to update and runs on a sturdy SQL Server backend rather than the old Access one! 
</p>
<p>
I hope you like the new look!
</p>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=27</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Sun, 17 Feb 2008 06:31:00 GMT</pubDate><category>WCF</category><title>WCF Open Service Host Error</title><description><![CDATA[ 
<p>
WCF "Your process does not have access rights to this namespace"
</p>
<p>
This is the error message I received when starting a WCF service in windows vista.  The problem is down to Vista security restrictions (UAC) not allowing applications to open ports (start listening on a port.
</p>
<p>
There are a few ways to resolve this issue:
<ol>
    <li>Run the WCF host with administrative rights (not recommended) by right clicking your .exe and selecting “run as administrator”.</li>
    <li>Use netsh.exe to allow a user to start listening on the port(s) you specify:<br />“netsh http add urlacl url=http://+:8080/ user=COMPUTERNAME\USERNAME”</li>
</ol>
</p>
<p>
This example allows the username specified to start listening on port 8080 with any IP address or hostname.  
</p>
<p>
To find a list of commands run “netsh http”.
</p>
<p>
Domain Users: Replace “COMPUTERNAME” with the name of your domain.
</p>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=25</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Wed, 01 Aug 2007 12:18:00 GMT</pubDate><category>ASP.NET</category><title>Global.asax Session_Start Not Fireing</title><description><![CDATA[ 
<p>
I have spent an hour trying to work out why the session start was not fireing within my global.asax file!  It turns out that I was adding it to a pre-complied application! 
</p>
<p>
Dont make my mistake!
</p>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=23</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Sun, 08 Jul 2007 01:41:00 GMT</pubDate><category>ASP.NET</category><title>Custom Crumbline based on URL</title><description><![CDATA[ 
<p>
A few people have asked me how to create a crumbline based on the URL, for example:
</p>
<p>
www.mydomain.com/Hello_World/MyPage.aspx<br />
www.mydomain.com/DotNet/Examples/FirstExample.aspx
</p>
<p>
The first one should display:<br />
Home > Hello_World > MyPage.aspx<br />
Second should display:<br />
Home > DotNet > Examples > FirstExample.aspx
</p>
<p>
Here is a method for doing so:
</p>
<div class="code">
private string CreateCrumb()<br />
{<br />
      &nbsp;&nbsp;&nbsp;
      string[] pathNames = Request.RawUrl.Split(&lsquo;/&rsquo;);<br />
      &nbsp;&nbsp;&nbsp;
      System.Text.StringBuilder crumbLine = new System.Text.StringBuilder();<br />
      <br />
      &nbsp;&nbsp;&nbsp;
      for (int i = 1; i < pathNames.Length; i++)<br />
      &nbsp;&nbsp;&nbsp;
      {
            <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crumbLine.Append(pathNames.GetValue(i));<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            if (i != pathNames.Length - 1)<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            {<br />
                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                  crumbLine.Append(" > ");<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            }<br />
      &nbsp;&nbsp;&nbsp;
      }<br />
      &nbsp;&nbsp;&nbsp;
      return crumbLine.ToString();<br />
}
</div>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=21</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Thu, 03 May 2007 01:44:00 GMT</pubDate><category>Platforms</category><title>Disabling “Low Disk Space in Vista”</title><description><![CDATA[ 
<ol>
    <li>Right- click within the system tray (near the clock)</li>
    <li>Select properties from the context menu</li>
    <li>Check the “Hide inactive icons” checkbox</li>
    <li>Select the “Customise” button</li>
    <li>Under “Low Disk Space” select “Hide” for the behavior</li>
    <li>Select Ok and you are done.  No more alloying messages! </li>
</ol>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=19</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Mon, 30 Apr 2007 10:06:00 GMT</pubDate><category>Sharepoint</category><title>Creating SharePoint 2007 Themes</title><description><![CDATA[ 
<ol>
    <li>Navigate to:<br />C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\THEMES</li>
    <li>Copy and paste a complete theme</li>
    <li>Rename the theme</li>
    <li>Navigate inside the theme directory</li>
    <li>Rename the .inf file to the exact  name of the directory</li>
    <li>Open the .inf file in Microsoft Notepad</li>
    <li>Find and replace the old theme name with the new theme name created</li>
    <li>Create a new image to represent the new theme</li>
    <li>Navigate to:C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\IMAGES<br /></li>
    <li>Add the new image to the directory and record the filename</li>
    <li>Navigate to:<br />C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033</li>
    <li>Open the file “SPTHEMES.XML” in notepad</li>
    <li>Copy and paste an entire Template</li>
    <li>Rename “TemplateID” to the name of the directory previously created</li>
    <li>Write an appropriate display name and description</li>
    <li>Enter the location of the image (images/recordedFilename) created in step 10 under the thumbnail and preview entities</li>
</ol>

<h3>Applying the Theme</h3>
<ol>
    <li>Open the SharePoint site</li>
    <li>Navigate to “Site Actions”</li>
    <li>Select “Site Settings” then “Modify All Site Settings”</li>
    <li>Under “Look and Feel” select “Site Theme”</li>
    <li>Select the new theme from the list and select “Apply”</li>
</ol>

<h3>Modifying the Theme</h3>
<p>
Tools such as the CSS Viewer in Mozilla FireFox will prove to be valuable in locating classes.
</p>
<ol>
    <li>Ensure the theme is applied</li>
    <li>Open the site in Microsoft SharePoint Designer</li>
    <li>Navigate to “_Themes” then the new theme folder created earlier</li>
    <li>Open the .CSS file ending in 65001.CSS</li>
    <li>Modify this file to change the theme</li>
    <li>To change the images navigate to the themes directory:C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\THEMES\BROADRIDGE<br /></li>
    <li>Select an appropriate image and modify as required.</li>
</ol>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=17</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Mon, 15 Jan 2007 04:12:00 GMT</pubDate><category>Networking</category><title>Problem with ARP Cache</title><description><![CDATA[ 
<p>
My Windows 2003 virtual server would not allow me to repair a connection, I recieved the error "Problem clearing ARP Cache". Most forums suggest to type the following at the command prompt:
</p>
<p>
"netsh interface ip delete arpcache"
</p>
<p>
... however no luck.
</p>
<p>
I eventually found the problem- "Routing and Remote Access" service needed to be stopped. Here is the fix:
</p>

<ol>
    <li>Click the < Start> button</li>
    <li>Click the < Control Panel> button</li>
    <li>Switch to "Classic View" if you are in "Category View"</li>
    <li>Click < Administrative Tools></li>
    <li>Click < Computer Management></li>
    <li>Double-click < Services and Applications></li>
    <li>Double-click < Services></li>
    <li>Scroll down to < Routing and Remote Access></li>
    <li>Double-click < Routing and Remote Access></li>
    <li>Examine the "Start-up Type" (The options are "Automatic", "Manual", and "Disabled")</li>
    <li>Set the "Start-up Type" to "Disabled"</li>
    <li>Click the < OK> button</li>
</ol>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=15</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Sat, 13 Jan 2007 10:27:00 GMT</pubDate><category>Visual Studio</category><title>Visual Studio 2005 SP1 for Vista</title><description><![CDATA[ 
<p>
Whilst trying to install Visual Studio 2005 Service Pack 1 for Vista I recieved the following message:
</p>
<p>
"The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch may update a different version of the program. Verify that the program to be upgraded exists on your computer..."
</p>
<p>
What I didnt realise was that I must install Visual Studio 2005 SP1 first!
</p>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=13</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Sun, 07 Jan 2007 04:24:00 GMT</pubDate><category>Platforms</category><title>Windows Vista</title><description><![CDATA[ 
<p>
Vista... over three days I spent trying to install this before Christmas.  Each install took around 30-50 hours :(! Very frustrating when i find out it fails each time, with no noticable errors.  This install was different, i HUNTED for SATA drivers, all I could get is a .exe from intel- no use to load as a driver for vista:(
</p>
<p>
Finally i found out what files were requried and searched my pc for them, when found I loaded them and vista installed in under 30mins!  Wow!- not one problem.
</p>
<p>
The files I used were:
    <ul>
        <li>iaahci.inf</li>
        <li>iaAHCI.cat </li>
        <li>iaStor.sys</li>
        <li>iaahci.pnf</li>
    </ul>
    
</p>
<p>
  Im sure the files will be different depending on your chipset and system.  Mine is:
</p>
<p>
Intel 925 Chipset (Dell Dimension 8400) Intel Pentium 4 3.40 GHz 2046 MB RAM
</p>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=11</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Sat, 06 Jan 2007 04:16:00 GMT</pubDate><category>Applications</category><title>Word 2007 line spacing problems</title><description><![CDATA[ 
<p>
Word 2007 pre-defines a huge line space!  This really started to annoy me, as my work seems to spaced out.  To correct this issue and have the line spacing the same as previous Word follow the below steps:
</p>
<ol>
    <li>Select the "Home" tab on the ribbon. </li>
    <li>Under the paragraph section select the line spacing button (figure 1.1). </li>
    <li>Select "Line Spacing options...". </li>
    <li>Select the "Indents and Spacing" tab (default selected). </li>
    <li>Under the "Spacing" heading select type "0pt" in for "After:" (figure 1.2). </li>
    <li>Select "Ok" and your finished.</li>
</ol>

<table>
    <tr>
        <td>
            <img alt="linespacebtn.JPG" src="/Uploads/linespacebtn.JPG" width="279" />
        </td>
        <td>
            <img alt="linespace.JPG" src="/Uploads/linespace.JPG" width="189" />
        </td>
    </tr>
    <tr>
        <td>
            <p align="center">Figure 1.1</p>
        </td>
        <td>
            <p align="center">Figure 1.2</p>
        </td>
    </tr>
</table>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=9</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Thu, 04 Jan 2007 02:51:00 GMT</pubDate><category>Applications</category><title>Microsoft Office 2007</title><description><![CDATA[ 
<img alt="office2007.JPG" src="/Uploads/office2007.JPG" />
<p>
Office 2007!  It takes a little getting used to as all the drop down menus have disappeared and we have a more modern easier to use "panel" across the top of the page.
</p>
<p>
In Word, the default font has changed from Times New Roman to "Calibri" which has a better look than the predecessor, and there is better use of Styles.
</p>
<p>
Excel can apply some handy formatting to imported data, making it easier to read and understand- prints out well too!
</p>
<p>
Overall very impressed!  Well done Microsoft!
</p>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=7</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Sat, 23 Dec 2006 04:39:00 GMT</pubDate><category>.NET</category><title>Appending to the begining of a text file</title><description><![CDATA[ 
<p>To add a header row to a CSV file I needed to append to the beginining of the text file, this however is not possible, instead I had to create a new file and write the original files contents to it after the header has been written:</p>
<div class="code">
StreamReader reader = new StreamReader(File.Open("Original.csv", FileMode.Open, FileAccess.Read));<br />
StreamWriter writer = new StreamWriter(File.Create("Newfile.csv"));<br />
writer.WriteLine("StudentID, Username, Forename, Surname"); //Write header row.<br />
writer.WriteLine(reader.ReadToEnd()); //Write original file to the new one.<br />
writer.Flush();<br />
writer.Close();<br />
reader.Close();
</div>
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=5</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Sat, 16 Dec 2006 07:28:00 GMT</pubDate><category>ASP.NET</category><title>Active Directory and ASP.NET Forms</title><description><![CDATA[ 
My Final Year Project requires Active Directory Authentication, ASP.NET has a 
very simple GUI to set this up although I have used LDAP to create finer grained 
code- more customisable :D. Here is the method I have used:
<br />
<div class="code">
public bool IsAuthenticated(string domain, string username, string pwd)
<br />
{
<br />
&nbsp;&nbsp;&nbsp; string domainAndUsername = domain + @&quot;\&quot; + username;
<br />
&nbsp;&nbsp;&nbsp; DirectoryEntry entry = new DirectoryEntry(_path, 
domainAndUsername, pwd);
<br />
&nbsp;&nbsp;&nbsp; try
<br />
&nbsp;&nbsp;&nbsp; {
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Bind to the native AdsObject to force 
authentication.
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object obj = entry.NativeObject;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DirectorySearcher search = new 
DirectorySearcher(entry);
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; search.Filter = &quot;(SAMAccountName=&quot; + 
username + &quot;)&quot;;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; search.PropertiesToLoad.Add(&quot;cn&quot;);
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SearchResult result = search.FindOne();
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (null == result) { return false; }
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Update the new path to the user in the 
directory
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _path = result.Path;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _filterAttribute = 
(String)result.Properties[&quot;cn&quot;][0];
<br />
&nbsp;&nbsp;&nbsp; }
<br />
&nbsp;&nbsp;&nbsp; catch
<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw
<br />
&nbsp;&nbsp;&nbsp; }
<br />
&nbsp;&nbsp;&nbsp; return true;
<br />
}
</div>
<br />

If you want to create a simpler AD login we can use the ASP.NET Login control 
with Memberships.&nbsp; Example memberships code for the web.config file:<br />
<div class="code">
&lt;membership defaultProvider=&quot;ADMembershipProvider&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;
&lt;providers&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;clear/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;add name=&quot;ADMembershipProvider&quot; 
type=&quot;System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, 
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&quot; 
connectionStringName=&quot;ActiveDirectory&quot; connectionUsername=&quot;userName&quot; 
connectionPassword=&quot;password&quot; attributeMapUsername=&quot;sAMAccountName&quot; 
enableSearchMethods=&quot;true&quot; requiresUniqueEmail=&quot;true&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;
&lt;/providers&gt;<br />
&lt;/membership&gt;
</div>
<br />
The Login Control can utilize the membership:

<br />
<div class="code">
&lt;asp:Login
ID=&quot;LoginControl&quot;
runat=&quot;server&quot;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
EnableTheming=&quot;true&quot;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
DisplayRememberMe=&quot;true&quot;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
FailureText=&quot;Login attempt has failed.&quot;&gt;<br />
&lt;/asp:Login&gt;
</div>
<br />
To me it seems more beneficial to use the first option, the membership way is 
easier although you require administraton rights for the connection.
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=3</link></item><item><author>David Kiff (RSS@Davidkiff.co.uk)</author><guid isPermaLink="true">http://DavidKiff.co.uk/Blog.aspx?bid=</guid><pubDate>Thu, 14 Dec 2006 04:27:00 GMT</pubDate><category>General</category><title>New RSS Feeds</title><description><![CDATA[ 
<p>DavidKiff.co.uk now has Live RSS feeds!</p><IMG src="/Uploads/Me.gif">
 ]]></description><link>http://DavidKiff.co.uk/Blog.aspx?bid=1</link></item></channel></rss>