2013-03-01 80 views
0

我們有一個ASP.Net網絡應用程序,其應用程序池的身份是「網絡服務」。在這個應用程序中我們有一個設置頁面;我們正在接受用戶名。在針對ADSI(Active Directory)驗證用戶名時,我們得到以下異常。如果我們將App Pool的身份從「網絡服務」更改爲我們的域帳戶,那麼我們可以成功驗證用戶名。ASP.Net網絡應用程序身份驗證問題

在這裏,我們不能使用我們的域帳戶作爲應用程序池的身份。請提出任何替代方案來解決此問題。

Exception Information 
********************************************* 
Exception Type: System.DirectoryServices.DirectoryServicesCOMException 
    ExtendedError: -1073740781 
     ExtendedErrorMessage: C0000413: LdapErr: DSID-0C0904DC, comment:  AcceptSecurityContext error, data 78f, v1db1 
      ErrorCode: -2147023570 
Message: Logon failure: unknown user name or bad password. 

    Data: System.Collections.ListDictionaryInternal 
    TargetSite: Void Bind(Boolean) 
     HelpLink: NULL 
    Source: System.DirectoryServices 
    HResult: -2147023570 

    StackTrace Information 
     ********************************************* 
    at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) 
     at System.DirectoryServices.DirectoryEntry.Bind() 
at System.DirectoryServices.DirectoryEntry.get_AdsObject() 
     at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne) 
    at System.DirectoryServices.DirectorySearcher.FindOne() 
     at.-------UserSettings.IsValidUser(String userName)" 

回答

0

以域用戶身份運行進程(IIS進程或ASPNET進程)。這意味着設置應用程序池標識。

在IIS5中,將匿名帳戶(IUSR_MACHINE)設置爲域用戶,然後模擬使用。

在更高版本的IIS中將服務帳戶添加到IIS_WPG組。

相關問題