2009-05-11 14 views
0

私はasp.net Webプロジェクトを作成しています。私の役割はわかりました。そのようなものは.mdfファイルに保存されています。 SQL Management Studioの(から[SQLExpress 2005を使用)を介して、それに接続しようとする上で読んでいる間、私はこの記事を見つけた:ASP.NET SQL Serverセットアップウィザード

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

、私の質問は - 私はこれを行うべきか?私は終了時にホスティングプロバイダにウェブサイトをアップロードするつもりで、プロセスをできるだけスムーズにしたいと考えています。

通常、MDFファイルをWebサイトと共にサーバーに移動するだけですか、またはSQL Server自体の内部に情報を格納する方が良いですか?私は既にウェブサイト用のDBを持っています...自分のDBにasp.netの役割情報を統合できるので、管理するDBは1つだけですか? ASP.NETメンバシッププロバイダを使用して

読書、 をありがとう~~ Kolten

答えて

1

は、ユーザーcredientialsを管理するための有効な方法です。 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> 
関連する問題