gpt4 book ai didi

asp.net-mvc - Windows 身份验证-MVC 2 ASP.Net

转载 作者:可可西里 更新时间:2023-11-01 09:31:45 26 4
gpt4 key购买 nike

将我的应用程序转移到 Windows 身份验证时遇到实际问题。

sql 错误消息与在 aspnetdb.mdf 文件中创建的问题有关。

我想知道是连接字符串有问题还是 web.config 的其他元素有问题

我在 IIS 中设置了 Windows 身份验证。

网络配置:

<?xml version="1.0"?>

<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=152368
-->

<configuration>
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|ASPNETDB.MDF;User Instance=true"
providerName="System.Data.SqlClient" />
<add name="orderbaseConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\orderbase.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>

<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>

<authentication mode="windows">

</authentication>

<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>

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

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

<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web>

<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

还有sql错误:

Unable to open the physical file "C:\inetpub\wwwroot\Ordering\App_Data\ASPNETDB_log.ldf". Operating system error 5: "5(failed to retrieve text for this error. Reason: 15105)". CREATE FILE encountered operating system error 5(failed to retrieve text for this error. Reason: 15105) while attempting to open or create the physical file 'C:\inetpub\wwwroot\Ordering\App_Data\ASPNETDB_log.ldf'. Could not open new database 'C:\INETPUB\WWWROOT\ORDERING\APP_DATA\ASPNETDB.MDF'. CREATE DATABASE is aborted. An attempt to attach an auto-named database for file C:\inetpub\wwwroot\Ordering\App_Data\ASPNETDB.MDF failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share. File activation failure. The physical file name "C:\inetpub\wwwroot\Ordering\App_Data\ASPNETDB_log.ldf" may be incorrect.

最佳答案

您网络配置中的这一行说明您使用的是 SQL 成员资格提供程序,而不是 Active Directory 成员资格提供程序。

<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider"

或者你想使用这样的东西

<add
name="MyADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"
connectionUsername="testdomain\administrator"
connectionPassword="password"/>

这里是使用 Active Directory 的表单例份验证的引用链接 http://msdn.microsoft.com/en-us/library/ff650308.aspx

关于asp.net-mvc - Windows 身份验证-MVC 2 ASP.Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3038715/

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