1

新しいプロジェクトをセットアップして、Web サイト管理ツールでこれの管理側を学んでいます。バックエンドのセキュリティ パネルにアクセスし、コントローラー フィルターを介してビューにアクセスするために使用される管理者ロールを作成しました。すべての標準的なもの。

ただし、このユーザーでフロントエンドにログインしようとすると、存在しないため、新たに作成する必要があります。

または、フロントエンドでユーザーを作成し、バックエンドで管理者ロールを割り当てようとすると、彼も存在しません。

バックエンドで作成されたユーザーのみがバックエンドに存在し、ロールを割り当てることができます

フロントエンドユーザーとバックエンドユーザーの間につながりはないようです。1 つはフロント エンド ユーザーを保持し、もう 1 つはバック エンド ユーザーを保持する 2 つの別個のデータベースがあるようです。

バックエンド ユーザーに管理者権限を付与しても、フロントエンドからは機能しないようです。

このシステムがどのように機能するかについての説明はありますか? 私は助けなしでグーグルを使ってきました。

4

1 に答える 1

0

標準のasp.netmvc4アプリケーションを使用している場合は、はい。これは予想されることです。

その理由は、MVC4はデフォルトでSimpleMembershipと呼ばれる別のメンバーシッププロバイダーを使用しており、このプロバイダーはASP.NET構成ユーティリティと互換性がないためです。その構成ユーティリティは、まったく異なるテーブルを持つ古いメンバーシッププロバイダーを使用します。

オプションは次のとおりです。

  1. Web構成ユーティリティは使用しないでください。手動で、またはスクリプトを使用してユーザーを追加するか、独自の管理ページを作成します。
  2. 単純なメンバーシップを無効にして、MVCが古いメンバーシップシステムを使用するようにします
  3. まったく異なることを行う(メンバーシップを使用しない、別のプロバイダーを使用する、独自のプロバイダーを作成するなど...)

別のデータベースに関しては、はい。お気づきの方は、web.configにメンバーシップ構成がありません。代わりに、ASP.NET Congifurationユーティリティは、のmachine.configで定義されている既定のメンバーシップ構成を使用しますc:\windows\microsoft.net\framework[64]\config。デフォルトの場所は、プロジェクトディレクトリのApp_Dataディレクトリの下にあるaspnet.mdfというファイルです。

編集:

新しいプロバイダーの詳細については、こちらをご覧ください。

http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and- asp-net-mvc-4-templates.aspx

また:

http://geekswithblogs.net/Aligned/archive/2012/08/30/mvc-4-authentication.aspx

于 2012-10-16T01:06:45.410 に答える