2015-11-30 3 views
0

У меня есть приложение, и я аутентифицируюсь против Active Directory, и это работает, когда я запускаю его локально. Однако, когда я нажимаю это на сервер, он вообще не работает, и я получаю ошибку 500 при попытке входа в систему.Аутентификация Active Directory Active Directory работает локально, но не на сервере

Это мой метод Логин:

[HttpPost] 
     public ActionResult Login(LoginClass model, string ReturnUrl) 
     { 

      if (ModelState.IsValid) 
      { 
       if (Membership.ValidateUser(model.UserName, model.Password)) 
       { 
        FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); 
        if (Url.IsLocalUrl(ReturnUrl) && ReturnUrl.Length > 1 && ReturnUrl.StartsWith("/") 
         && !ReturnUrl.StartsWith("//") && !ReturnUrl.StartsWith("/\\")) 
        { 
         return Redirect(ReturnUrl); 
        } 
        else 
        { 
         return RedirectToAction("Index", "Home"); 
        } 
       } 
       else 
       { 
        ModelState.AddModelError("", "The user name or password provided is incorrect"); 
       } 
      } 

      return RedirectToAction("Index", "Home"); 
     } 

и вот некоторые вещи в моем файле web.config:

<add name="ADConnectionString" connectionString="LDAP://testdomain.test.com/CN=Users,DC=testdomain,DC=test,DC=com" /> 

<system.web> 
    <authentication mode="Forms"> 
     <forms name=".ADAuthCookie" loginUrl="~/Login/Index" timeout="45" slidingExpiration="false" protection="All" /> 
    </authentication> 
    <roleManager enabled="true" /> 
    <membership defaultProvider="ADMembershipProvider"> 
     <providers> 
     <clear /> 
     <add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName" /> 
     </providers> 
    </membership> 
    <compilation debug="true" targetFramework="4.5" /> 
    <httpRuntime targetFramework="4.5" /> 
    </system.web> 

ответ

1

На сервере, убедитесь, что пул приложений выполняется в контексте учетной записи с доступом к вашему Active Directory.

+0

Я попробую. – user979331

Смежные вопросы