簡體   English   中英

System.Web.HttpContext.Current.User.Identity.IsAuthenticated返回false

[英]System.Web.HttpContext.Current.User.Identity.IsAuthenticated returns false

我在同一台計算機上有兩個Visual Studio C#ASP.Net項目-一個向AD OK進行身份驗證,另一個沒有。 因為它們在同一台計算機上,所以我要排除更廣泛的環境,並查看web.config文件。 我將正常工作的Web.Config復制到了無法正常工作的Web.Config上,但仍然無法進行身份驗證。

System.Web是兩個項目中的相同版本。

當發布到實時域時,兩個站點都對AD進行OK身份驗證-這又是奇怪的。

有什么想法我應該看的嗎?

來自驗證項目的配置文件:

<configuration>
    <configSections>
        <sectionGroup name="EntitySpaces" type="EntitySpaces.Interfaces.esConfigSettings, EntitySpaces.Core">
            <section name="connectionInfo" type="EntitySpaces.Interfaces.esConfigSettings, EntitySpaces.Interfaces" allowLocation="true" allowDefinition="Everywhere" restartOnExternalChanges="true" />
        </sectionGroup>
        <sectionGroup name="devExpress">
            <section name="settings" type="DevExpress.Web.ASPxClasses.SettingsConfigurationSection, DevExpress.Web.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" requirePermission="false" />
            <section name="compression" type="DevExpress.Web.ASPxClasses.CompressionConfigurationSection, DevExpress.Web.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" requirePermission="false" />
            <section name="themes" type="DevExpress.Web.ASPxClasses.ThemesConfigurationSection, DevExpress.Web.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" requirePermission="false" />
            <section name="errors" type="DevExpress.Web.ASPxClasses.ErrorsConfigurationSection, DevExpress.Web.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <EntitySpaces>
        <connectionInfo default="LIVE">
            <connections>
                <add name="DEV" providerMetadataKey="esDefault" sqlAccessType="StoredProcedure" provider="EntitySpaces.SqlClientProvider" providerClass="DataProvider" connectionString="User Id=XXX; Password=XXX; Initial Catalog=XXX;Data Source=XXX" databaseVersion="2005" />
                <add name="LIVE" providerMetadataKey="esDefault" sqlAccessType="StoredProcedure" provider="EntitySpaces.SqlClientProvider" providerClass="DataProvider" connectionString="User Id=XXX; Password=XXX; Initial Catalog=XXX;Data Source=XXX" databaseVersion="2005" />
        <add name="TEST" providerMetadataKey="esDefault" sqlAccessType="StoredProcedure" provider="EntitySpaces.SqlClientProvider" providerClass="DataProvider" connectionString="User Id=XXX; Password=XXX; Initial Catalog=XXX;Data Source=XXX" databaseVersion="2005" />
            </connections>
        </connectionInfo>
    </EntitySpaces>
    <system.web>
        <compilation debug="true" targetFramework="4.5">
            <assemblies>
                <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
                <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
                <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
                <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
                <add assembly="System.Speech, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
                <add assembly="DevExpress.Web.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=B88D1754D700E49A" />
                <add assembly="DevExpress.Printing.v13.2.Core, Version=13.2.8.0, Culture=neutral, PublicKeyToken=B88D1754D700E49A" />
                <add assembly="DevExpress.Data.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=B88D1754D700E49A" />
                <add assembly="DevExpress.RichEdit.v13.2.Core, Version=13.2.8.0, Culture=neutral, PublicKeyToken=B88D1754D700E49A" />
                <add assembly="DevExpress.Web.ASPxThemes.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
            </assemblies>
        </compilation>
        <identity impersonate="true" />
        <authentication mode="Windows" />
        <httpModules>
            <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
            <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </httpModules>
        <httpHandlers>
            <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET,POST" path="DX.ashx" validate="false" />
        </httpHandlers>
        <pages controlRenderingCompatibilityVersion="4.0" />
        <customErrors mode="Off" />
    </system.web>
    <appSettings>
        <add key="LDAPUserName" value="XXX=="/>
        <add key="LDAPPassword" value="XXX"/>
        <add key="DebugLogging" value="false" />
        <add key="AvailableUsersADGroup" value="APPAllUsers" />
        <add key="DefaultSendEmailToRequestor" value="false" />
        <add key="DefaultSendEmailToOrganiser" value="true" />
        <add key="ExchangeServer" value="XXX" />
        <add key="ExchangeUserName" value="XXX" />
        <add key="ExchangePassword" value="XXX" />
        <add key="EmailSubjectSuffix" value="Clarion Online Forms - " />
        <add key="ClarionITServices" value="XXX" />
        <add key="URL" value="http://businessapps/OnlineForms" />
        <add key="LogoURL" value="\\mcssrv01\Support\LinkedImages\OnlineFormsLogo.png" />
    </appSettings>
    <system.webServer>
    <defaultDocument>
      <files>
        <clear />
        <add value="index.aspx" />
      </files>
    </defaultDocument>
        <validation validateIntegratedModeConfiguration="false" />
        <modules>
            <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
        </modules>
        <handlers>
            <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v13.2, Version=13.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET,POST" path="DX.ashx" name="ASPxHttpHandlerModule" preCondition="integratedMode" />
        </handlers>
    </system.webServer>
    <devExpress>
        <settings rightToLeft="false" doctypeMode="Xhtml" />
        <compression enableHtmlCompression="false" enableCallbackCompression="true" enableResourceCompression="true" enableResourceMerging="false" />
        <themes enableThemesAssembly="true" styleSheetTheme="" theme="" customThemeAssemblies="" />
        <errors callbackErrorRedirectUrl="" />
    </devExpress>
</configuration>

解!

我在這里學不到新東西! 該項目的性質設置為允許匿名身份驗證。 這必須覆蓋Visual Studio中的Web配置,因此解釋了為什么復制配置文件沒有任何改變。

我們在首頁加載時遇到了一些問題(尤其是如果用戶直接進入菜單頁面時)。 嘗試讓它加載,然后(通過按鈕)檢查它是否仍然是.isauth。 然后,也許您可​​以調用稍后的事件(在頁面加載之后)。

我不會排除更廣泛的環境。

假定允許匿名身份驗證的站點已配置為:

  • IIS允許匿名身份驗證
  • IUSR _...帳戶有權訪問您要測試的任何頁面。

不允許匿名身份驗證的站點可能由於以下任何原因而拒絕它:

  • IIS不允許匿名身份驗證
  • IUSR _...帳戶沒有正在測試的任何頁面的權限
  • web.config包含一個授權元素,該元素拒絕訪問您正在測試的頁面。

也許還有其他我沒想到的原因。

如果兩個站點都在實時域中工作,則表明實時域的配置有所不同-這不一定是“奇數”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM