2012-09-26 101 views
0

我很抱歉,我創建的問題已經有答案,但我不明白。如何在ASP.NET MVC中使用Active Directory

我需要一個簡單的應用程序,它將使用AD並使用用戶角色。

首先用我有一個問題來獲取連接字符串。我被給了一個用戶,並表示它連接如此:

LDAP://CN=User_1,OU=Test,OU=ADTestOU,DC=tv-tel,DC=local 

怎麼把web.config

<connectionStrings> 
    <add name="ADConnectionString" connectionString="LDAP://CN=User_1,OU=Test,OU=ADTestOU,DC=tv-tel,DC=local" /> 
    </connectionStrings> 
    <appSettings> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> 
    <add key="webpages:Version" value="2.0.0.0" /> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="PreserveLoginUrl" value="true" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <!--Make sure you have fomrs authentication enabled.--> 
    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/Login" timeout="2880" /> 
    </authentication> 
    <authorization> 
     <deny users="?"/> 
     <allow users="*"/> 
    </authorization> 
    <pages> 
     <namespaces> 
     <add namespace="System.Web.Helpers" /> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Optimization" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Web.WebPages" /> 
     </namespaces> 
    </pages> 
    <profile defaultProvider="DefaultProfileProvider"> 
     <providers> 
     <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
     </providers> 
    </profile> 
    <membership defaultProvider="MyADMembershipProvider"> 
     <providers> 
     <add 
     name="MyADMembershipProvider" 
     type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     connectionStringName="ADConnectionString" 
     connectionProtection="Secure" 
     connectionUsername="user" 
     connectionPassword="pwd" 
     attributeMapUsername="sAMAccountName" 
     enableSearchMethods="true" 
     attributeMapEmail="mail" 
/> 
     </providers> 
    </membership> 

    <roleManager defaultProvider="DefaultRoleProvider"> 
     <providers> 
     <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> 
     </providers> 
    </roleManager> 
    <sessionState mode="InProc" customProvider="DefaultSessionProvider"> 
     <providers> 
     <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> 
     </providers> 
    </sessionState> 
    </system.web> 
+0

使用代替「窗體」進行研究 – Phil

+0

它也可以與窗體一起使用。 –

回答

1

如果你想在公元使用Windows身份驗證工作,你需要在你的web.config,而不是forms使用<authentication mode="windows" />

嘗試使用Intranet應用程序模板創建一個新的ASP.NET MVC 3應用程序,它將爲您設置它。

還要確保您已正確配置IIS並啓用了Windows身份驗證。當您使用Intranet模板創建新項目時,它將爲您生成一個文本文件,該文件解釋瞭如何逐步設置它。

+0

那麼連接字符串是什麼? – Mediator

相關問題