Hej alla,Authentication active directory och sql error 26
Jag använder iis 6.0 och VS 2005.
Jag har gjort en liten login sida för att autentisera användare mot AD med LDAP. När jag klickar på F5 och debuggar min solution allt går bra. men när jag höger klickar på projektet och väljer publish web site, och sedan när jag kör mot websidan http://localhost och klickar på Login knappen, generarar den följande
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
problemet är att jag har inte alls använd sql server.
här är min web.config fil:
<connectionStrings>
<add name="ADConnectionString" connectionString="LDAP://boo.fine.com/DC=boo,DC=fine,DC=com"/>
</connectionStrings>
<system.web>
<siteMap defaultProvider="default">
<providers>
<clear/>
<add name="default" type="System.Web.XmlSiteMapProvider" siteMapFile="web.sitemap" securityTrimmingEnabled="true"/>
</providers>
</siteMap>
<roleManager enabled="true" />
<compilation debug="true" strict="false" explicit="true">
<assemblies>
<add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
<pages>
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</pages>
<authentication mode="Forms">
<forms name="HIQForms" loginUrl="HiQLogin.aspx" timeout="10"/>
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
<identity impersonate="true" />
</system.web>
och dett är koden:
protected void btnLogin_Click(object sender, EventArgs e)
{
string userName = txtUserName.Text;
string password = txtPassword.Text;
string domain = "hiq";
string LDAPPATH = ConfigurationManager.ConnectionStrings["ADConnectionString"].ConnectionString;
string domainAndUsername = domain + @"\" + userName;
DirectoryEntry entry = new DirectoryEntry(LDAPPATH, domainAndUsername, password);
try
{
Object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + userName + ")";
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (null == result)
{
FormsAuthentication.RedirectToLoginPage();
}
else
{
// Update the new path to the user in the directory
LDAPPATH = result.Path;
ResultPropertyCollection myResultPropColl = result.Properties;
//string name = myResultPropColl["sn"][0].ToString();
FormsAuthentication.RedirectFromLoginPage(userName, true);
}
}
catch (Exception ex)
{
lblResults.Visible = true;
lblResults.Text = "Unsuccessful login. Please re-enter your information and try again.";
if ((Membership.GetUser(userName) != null) && (Membership.GetUser(userName).IsLockedOut == true))
lblResults.Text += " Your account has been locked out.";
}
}