2011-05-19 37 views
0

我已经为我的应用程序设置了一个登录控件来对AD进行身份验证。它运作良好,但它要求用户在这样的格式输入自己的用户名:在AD窗体登录过程中解析域名域

[email protected]

是否有办法来自动追加域名,可是没有用户输入,或看到它?

编辑:显示web.config。

<configuration> 
<connectionStrings> 
    <add name="ADConnectionString" connectionString="LDAP://domain.com/DC=domain,DC=com" /> 
</connectionStrings> 

<authentication mode="Forms"> 
    <forms name=".ADAuthCookie" timeout="10" /> 
</authentication> 

<authorization> 
    <deny users="?" /> 
    <allow users="*" /> 
</authorization> 


    <membership defaultProvider="domainCOMADMembershipProvider"> 
     <providers> 
      <add 
      name="domainCOMADMembershipProvider" 
      type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, 
     Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      connectionStringName="ADConnectionString" 
      connectionUsername="hidden" 
      connectionPassword="hidden"/> 
     </providers> 
    </membership> 

<profile> 
    <providers> 
    <clear/> 
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/> 
    </providers> 
</profile> 

<roleManager enabled="false"> 
    <providers> 
    <clear/> 
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" /> 
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" /> 
    </providers> 
</roleManager> 

+0

显示代码...... – Fosco 2011-05-19 19:08:20

+0

已添加。我只是使用针对AD的标准表单auth,没有任何习俗或幻想。 – tking 2011-05-19 19:14:22

回答

2

使用Login.Authenticate事件来覆盖默认行为,并添加域名。

+0

是在用户已通过身份验证后触发的身份验证事件?我想让用户不必输入“@ domain.com”。 – tking 2011-05-19 19:13:55

+0

不是。这是用来执行认证的方法。 – 2011-05-19 19:15:04