ASP.NET SQL Server安装向导

时间:2009-05-11 02:34:26

标签: asp.net sql-server-express

我正在处理一个asp.net web项目,发现我的角色,并存储在.mdf文件中。在阅读尝试通过SQL Management Studio(使用SQLExpress 2005)连接到它时,我发现了这篇文章:

https://help.maximumasp.com/SmarterTicket/Customer/KBArticle.aspx?articleid=878

现在,我的问题是 - 我应该这样做吗?我将在完成后将网站上传到托管服务提供商,并希望流程尽可能顺利。

通常只是将MDF文件与网站一起移动到服务器,还是将信息存储在SQL Server本身中更好?我已经为网站安装了一个数据库...我可以将asp.net的角色信息集成到我自己的数据库中,这样我只需要管理一个数据库吗?

感谢阅读, ~~ Kolten

1 个答案:

答案 0 :(得分:1)

使用ASP.NET成员资格提供程序是管理用户信用的有效方法。上传MDF文件会增加某人可能获取您的MDF文件然后获取所有用户详细信息的风险。将此存储在托管环境提供的SQL数据库中通常会更安全,前提是连接详细信息不会受到损害,并且您不会将自己暴露给SQL注入攻击,并且您的提供商也不会将自己暴露给SQL注入攻击。

只要与成员资格表没有名称冲突,成员资格信息就可以存储在与应用程序其余部分相同的数据库中。您可以通过在aspnet_regsql命令行上指定数据库连接详细信息来创建所需的表。

在web.config文件中,您需要修改roleManager和成员资格提供程序,以便指定要使用的连接字符串。即。

<system.web>
    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
      <providers>
        <remove name="AspNetSqlRoleProvider" />
        <add name="AspNetSqlRoleProvider" connectionStringName="MembershipSQLConnectionString"
             applicationName="/"
             type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      </providers>
    </roleManager>
</system.web>