gpt4 book ai didi

c# - 使用检查用户跨域的 Windows 身份验证创建 Intranet 站点在提供凭据后不允许我通过

转载 作者:行者123 更新时间:2023-11-30 18:30:09 24 4
gpt4 key购买 nike

我正在尝试创建一个将对用户使用 Windows 身份验证的 Intranet 站点,但该站点将托管在 DOMAINB 中的服务器中,但用户已登录到 DOMAINA。

在 IIS 中,我启用了 Windows 身份验证。

当我访问该站点时,它会提示我输入用户名和密码,我将我的用户名和密码提供给 DOMAINA(我已经从我正在测试的计算机上登录了)但不让我通过并再次询问我。

这是我的配置文件的样子:

<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

<connectionStrings>
<add name="ConnectionStringDOMAINA" connectionString="LDAP://DOMAINA ACTIVE DIRECTORY SERVER ADDRESS:3268"/>
</connectionStrings>

<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<authentication mode="Windows" />
<customErrors mode="Off" />
<authorization>
<deny 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>

<membership>
<providers>
<add name="DOMAINAProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ConnectionStringDOMAINA"
connectionUsername="DOMAINA\service account username"
connectionPassword="service account password"/>
</providers>
</membership>

</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers><remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /><remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /><remove name="ExtensionlessUrlHandler-Integrated-4.0" /><add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /><add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /><add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /></handlers></system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>
</configuration>

谁能想到我可能会遗漏什么?这是我第一次不得不处理跨域检查的 Windows 身份验证站点,所以我确信它是一些简单而愚蠢的东西。

更新:是的,服务器确实可以访问域控制服务器,我可以使用端口 389 和 3268 telnet 到它。

最佳答案

这对您来说可能是一个很好的起点:

如果您在两个域之间正确配置了信任关系,则可以为 DomainB 中的服务器/资源上的 DomainA\UserName 分配权限

http://technet.microsoft.com/en-us/library/cc977993.aspx

关于c# - 使用检查用户跨域的 Windows 身份验证创建 Intranet 站点在提供凭据后不允许我通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21941560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com