5

I am trying to re-learn ASP.NET and building some application, however tutorial seems to be running shorts.

I understand ASP.NET comes now with built in membership which allows users to created and edit, login to users. However, is there a way for me to create a User Controller. From what I have read, its a big no, because it may conflict with the AccountController. Maybe this is wrong, but I would like to be sure first.

Also I understand that I can use the word [Authorize] in a controller ( action, or class ) to limit access to users. However if I provide [Authorize(Roles="Admin")] How can I define the roles to a users? Is there a field that already exists in the membership providing this or do i need to supply a second nuget packages. If its a field from the user, how does it know Roles is the value in the User tables?

4

2 に答える 2

10

あなたは複数のことを混乱させています。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% は (よく知っているはずの人でさえ) 十分に注意を払わないと間違えてしまいます。

非常に正当な理由がない限り、信頼できるソースからのプロバイダーを使用してください。次に、ハッシュコードをチェック、ダブルチェック、トリプルチェックしてから、専門家にチェックしてもらいます。

于 2013-07-20T20:43:55.200 に答える