2013-07-20 6 views
5

私はASP.NETを再学習してアプリケーションを構築しようとしていますが、チュートリアルは短所を実行しているようです。ASP.NET MVC 4でのユーザー管理

私は、ASP.NETにはメンバーシップが組み込まれているので、ユーザーはユーザーにログインして編集したり、ログインすることができます。しかし、ユーザーコントローラを作成する方法はありますか?私が読んだことから、AccountControllerと競合する可能性があるので、大きな問題はありません。たぶんこれは間違っていますが、私は最初に確認したいと思います。

また、コントローラ(アクションまたはクラス)で[Authorize]という単語を使用して、ユーザーへのアクセスを制限できることを理解しています。ただし、[Authorize(Roles = "Admin")]を指定した場合、ユーザーにどのように役割を定義できますか?これを提供するメンバーシップに既に存在するフィールドがあるか、または2番目のナゲットパッケージを供給する必要がありますか?そのフィールドがユーザーからのものであれば、どのようにRolesがUserテーブルの値であることがわかりますか? asp.netでの認証と承認のために

答えて

4

、フォーム認証とメンバシッププロバイダ(およびロールのロール・プロバイダ)を見て

クイック検索には、この記事を与える:Here

は、他のを見てHow do I create a custom membership provider for ASP.NET MVC 2?

+0

あなたがアプリケーションのために選択する場合は、カスタムメンバーシップまたはMSで事前に作成されたメンバーシップを選択しますか? – Jseb

+1

カスタムメンバーシッププロバイダの構築を見てください。つまり、これを独自のユーザーデータストアにマップすることができ、必要なメソッドを実装(オーバーライド)するだけです。標準のCRUDを使用してユーザーの詳細を編集します。 –

10

あなたがconfusだ:これも面白そう "カスタムメンバシッププロバイダ"

を検索複数のものを扱う。 Asp.netは基本的なWeb技術であり、その上には3つのテクノロジーがあります。 Webフォーム、Webページ、およびMVC。

メンバーシップは、2005年にリリースされたバージョン2以降、asp.netの一部です。これは新しいものではありません。ここ数年、多くのことが書かれています。

MVCを使用していて、MVC4を使用している場合、デフォルトのインターネットテンプレートはSimpleMembershipを使用します。これはVisual Studioのビルトインメンバーシップエディタとは互換性がありませんWebサイト管理ツールまたはWSaT)。これは古いSqlMembershipデータベーステーブルとのみ互換性があり、SimpleMembershipはこれらのテーブルを使用しません。

MVC4でSqlMembershipを使用できますが、SqlMembershipを使用するように構成する必要があります。または、WSaTを使用して自分でユーザーを構成することはできません。

ああ、あなたがカスタムメンバーシッププロバイダを作成するように指示している人の話を聞かないでください。安全なパスワードハッシュ技術を作成するのは簡単ではないので、これが最善のアドバイスです。彼らが非常に細心の注意を払っていない限り、試してみる人の99%(よく知っている人さえも)は間違っています。

非常に正当な理由がない限り、信頼できるソースのプロバイダを使用してください。そして、チェック、ダブルチェック、ハッシュコードを3回チェックして、エキスパートにチェックさせてください。

関連する問題