ASP.NET配置工具不会让我配置“安全”设置

时间:2013-04-17 21:21:20

标签: asp.net

美好的一天!

我正在尝试从我的.NET 4.0(Visual Studio 2010)ASP.NET Web应用程序中获取本地成员资格数据库。

我这样做:

1)File-> New-> Project->“ASP.NET Web Application”

2)编译应用程序。

3)打开“ASP.NET配置工具”,单击“安全”选项卡。

我明白了:

There is a problem with your selected data store. This can be caused by an invalid
server name or credentials, or by insufficient permission. It can also be caused by the
role manager feature not being enabled. Click the button below to be redirected to a page
where you can choose a new data store. 

The following message may help in diagnosing the problem: Could not load type 'WebApplication3.Global'. 

这是我的web.config文件:

 <configuration>
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />

    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
    </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="WebApplication3" />
      </providers>
    </membership>

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

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

  </system.web>

  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

我有点期待它“开箱即用”。我基于其他一些stackoverflow帖子(启用roleManager等)对web.config进行了一些更改。

我的App_Data目录中也没有.mdf文件。如果我尝试添加一个,我明白了:

enter image description here

我只想使用专用的本地数据库来获取我的身份验证信息。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您可以尝试SQL Server Compact edition。它的目标是使用您的asp.net Web应用程序进行小型和易于分发。

答案 1 :(得分:0)

如果您收到此错误,请尝试检查此事。

<强> 1 即可。确保您的数据库引擎配置为接受远程连接

•开始&gt;所有程序&gt; SQL Server“版本”&gt;配置工具&gt; SQL Server表面区域配置
•单击服务和连接的表面区域配置
•选择出现问题的实例&gt;数据库引擎&gt;远程连接
•启用本地和远程连接
•重新启动实例

<强> 2 即可。检查SQL Server服务帐户

•如果您没有使用域帐户作为服务帐户(例如,如果您使用的是NETWORK SERVICE),您可能需要先切换它,然后才能继续

第3 即可。如果您使用的是命名的SQL Server实例,请确保在ASweb P.NET应用程序的连接字符串中使用该实例名称

•通常,指定数据库服务器所需的格式为machinename \ instancename
•检查连接字符串以及

<connectionStrings>
<add name="SampleConnectionString" connectionString="Data Source=machinename\instancename;Initial Catalog=AdventureWorks;Integrated Security=SSPI;Min Pool Size=5;Max Pool Size=60;Connect Timeout=30″ providerName="System.Data.SqlClient"/>
</connectionStrings>


4 。您可能需要在防火墙上为您正在使用的SQL Server实例和端口创建例外

•开始&gt;运行&gt;
FIREWALL.CPL •单击例外选项卡
•添加sqlservr.exe(通常位于C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL.x \ MSSQL \ Bin,检查安装的实际文件夹路径)和端口(默认为1433)
•检查连接字符串以及

5 。如果您使用的是命名的SQL Server实例,请确保在连接字符串中使用该实例名称

6 。检查SQLBrowser;检查它是否正在运行。您可能还需要在防火墙中为SQLBrowser创建一个例外。

7 。检查您是否已连接到SQL Server。

注意您用于连接的内容:计算机名称,域名或IP地址?检查连接时使用此选项。例如,如果您正在使用myserver

•开始&gt;运行&gt; CMD
•netstat -ano | findstr 1433
•telnet myserver 1433
•ping -a myserver

检查返回IP地址的端口。

如果仍然无法建立任何连接,您可能希望在服务器上创建一个SQL帐户,在相关数据库上创建相应的SQL用户,并在Web应用程序中使用此用户名/密码组合。 />
参考7 things to check to resolve “A network-related or instance-specific error occurred while establishing a connection to SQL Server…”

答案 2 :(得分:0)

您使用的会员提供商已过时。您想使用新的ASP.NET Universal Providers

无论哪种方式,您都需要安装至少SQL Express才能对其进行测试。