0

私は現在、ログイン システムが必要な ASP.NET の Web サイトに取り組んでいます。しかし、ロール データベースの接続文字列が Microsoft SQL データベースの接続文字列と同じであると誤って想定したことで、ロール データベースがどこにあるのかわからないことに気付きました。ロール データベースに似たもの (ロールと .mdf の両方を検索) をコンピューターで検索しましたが、これと特定できるものは何も見つかりませんでした。ここで私が犯している間違いを知っていますか?この役割データベースを特別に作成する必要はありますか? これまでのところ、私の web.config コードは次のようになっています (上部で接続文字列を個人的に特定することなく):

  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
    <roleManager  enabled="true" defaultProvider="providerForLogin">
      <providers>
        <add name="providerForLogin" type="System.Web.Security.SqlRoleProvider" applicationName="WebSite4" connectionStringName="ConnectionString" />
      </providers>
    </roleManager>
  </system.web>
</configuration>

あなたが与えることができる助けを前もってありがとう!

4

2 に答える 2

2

同じデータベース接続文字列を指定した場合、ASP.Net メンバーシップは別のデータベースを作成しません。

テーブルが存在する同じデータベースにユーザー、ロール、メンバーシップテーブルを保持する方法は正しいです。

参考までに: アプリケーションが新しい場合は、古い ASP.Net メンバーシップ (現在使用しているもの) に代わるユニバーサル プロバイダーを使用してください。

于 2013-02-18T15:44:05.377 に答える
1

aspnet_regsql.exeメンバーシップスキーマを作成するために実行する必要があるという名前の実行可能ファイルがあります。このチュートリアルに従ってください

ただし、@ Winが言ったように、これは古いものです。VS2012で開発している場合は、ユニバーサルプロバイダーを使用してください。

于 2013-02-18T15:52:37.063 に答える