2012-02-04 11 views
1

私はasp.net mvcで認証を行うことができる最も簡単で最速の方法は何ですか?簡易認証

私は現在サイトを作っており、すぐに起動したいと考えています。サイトはテストランのようなもので、アイデアが固執するかどうかを確認します。 openAd/openAuthを管理セクションに使用するなどの綿密な認証作業に時間を費やしたくありません。

今後、ユーザーがログインする必要があることがわかります。これは管理セクションにも何かを実装するときです。

今のところ私は誰もがそのエリアに着くのを止めることができるものがほしいだけです。可能であれば、私は資格情報を入力するためのユーザー名またはパスワードを持つhtmlフォームを持っていないこともあります。

私はセキュリティボックスを見ていましたが、これを使うことができるかどうか、あるいはこれが何らかの形で認証をしているのかどうか、私は確信していませんでした。

enter image description here

+0

このリンクは役立ちますhttp://stackoverflow.com/questions/524086/user-authentication-and-authorisation-in-asp-net-mvc – Smack

答えて

1

最も簡単には、MembershipProvider

最初のステップは、データベース内のメンバーシップ・テーブルを生成するaspnet_regsqlコマンドを使用している次のとおりです。

aspnet_regsql -S localhostを - d "your_database_name" -Aすべて-U sql_username -P sql_password

そこから、メンバーシッププロバイダの設定をweb.configに追加するだけですグラムなどの無効なパスワードの試行回数、強度要件、などの必要なオプション):

<add name="AspNetSqlMembershipProvider" 
    type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, 
    Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    connectionStringName="ApplicationServices" 
    enablePasswordRetrieval="false" 
    enablePasswordReset="true" 
    requiresQuestionAndAnswer="false" 
    requiresUniqueEmail="true" 
    passwordFormat="Hashed" 
    maxInvalidPasswordAttempts="5" 
    minRequiredPasswordLength="6" 
    minRequiredNonalphanumericCharacters="0" 
    passwordAttemptWindow="10"  
    passwordStrengthRegularExpression="^.*(?=.{6,})(?=.*\d).*$" 
    applicationName="/" /> 

、あなたが保護したい任意のコントローラに[承認]属性を追加します。既定のASP.NET MVCプロジェクトには、メンバーシップとフォーム認証が既に組み込まれています。アカウントコントローラ、アカウントモデル、およびweb.configセクションをコピー/ペーストでき、数分で完全に構築された認証と登録システムを持つことができます。パスワードリセット、アカウント、プロファイル、役割およびアクセス制御の無効化([Authorize(Roles = "Admin、Super User")])は、ユーザーを認証しなければならないことを意味し、管理者またはスーパーユーザーの役割です。

0

新しいMVCプロジェクトを作成すると、「インターネットアプリケーション」を選択し、それは、フォーム認証の事前構築が付属しています。あなたのコントローラに[Authorize]を追加すると、アプリのどの部分にもアクセスするためにはログインする必要があります。

これはできるだけ早く実行することをお勧めします。あなたが今、複数のユーザーをサポートする場合は