2011-10-17 5 views
1

私はMVC 3アプリケーションを開発したいと思っています。このアプリケーションでは、ユーザーデータを保存し、ログインさせ、そのデータを表示したり、友達のデータを表示したりできます。MVC 3カスタムログインスキーム

MVCがテンプレートファイルからのデフォルトログインであなたを制限しているようです。

データベースのカスタムログインスキームの開発に焦点を当てた良いチュートリアルや書籍を知っている人はいませんか。たとえば、ユーザーにログインし、情報を暗号化してDBに保存させることができます。

ありがとうございます!

答えて

2

認証システムには、ASP.NET Membership &フォーム認証を使用する必要があります。

パスワードを安全にハッシュまたは暗号化するメカニズムを組み込み、Cookieベースの認証トークンを使用してユーザーを識別し、ASPにうまく統合された役割ベースアクセス制御(RBAC)システムを備えています。ネット。たとえば、RBACをweb.configで使用して、サイトのパスへのアクセスを拒否することができます。

例:

また、あなたはあなたのアクションメソッドの周りに振りかけることができます[オーソライズ]属性がありません
<configuration> 
<location path="Admin"> 
    <system.web> 
     <authorization> 
      <allow roles="Administrator" /> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</location> 
</configuration> 

:あなたは、あなたがいない役割には本当に簡単な解決策を望んでいた場合

[Authorize(Roles="Administrator")] 
public ActionResult AdminPage() 
{ 
    return View(); 
} 

を、そしておそらく何のSQL ServerのDB ASP.NETメンバーシップなしでストレートASP.NET Forms Authenticationを使用することもできます。しかし、実際のアプリケーションでは、ASP.NETメンバーシップはより完全なソリューションです。

デフォルトのMVC3アプリケーションのアカウントコントローラまたはアカウントモデルで認証コードを使用する必要はありません。これらは私の意見では過剰です。

何をしても、ホイールを再発明しないでください。認証とロールベースのアクセス制御は簡単なことではないので、ASP.NETで組み込みのソリューションを使用する必要があります。

this MVC tutorialも参照してください。

+0

私はデータベーススキーマをセットアップしました。 mvc3アプリケーションの作成時にデフォルトで作成されるデフォルトのアカウントモデルを組み込むにはどうすればいいですか?ユーザーが(MVC 3のデフォルトのアカウント設定を使用して)アカウントを作成すると、そのユーザーアカウントをデータベース関係にプライマリにします。それは理にかなっていますか? – Aziz