18

ASP.NET MVC 4 Web アプリケーションを作成しています。カスタム メンバーシップについて Google で検索しましたが、適切なリソースやビデオ レクチャーが見つかりませんでした。

それらのほとんどは、古いリンクか無効なリンクです。メンバーシップとロール プロバイダーの記述を開始する方法について、いくつかのリソースを提案してください。

4

4 に答える 4

1

メンバーシップと役割について理解することは、私にとっても非常に困難でした。ウェブ上で見つけられる信頼できる詳細なコンテンツはあまりないとおっしゃっていました。このトピックについて理解するためにいくつかのビデオを見てみましたが、明確ではありませんでした。しかし、Code Project という Web サイトの 2 つの記事が助けになりました。メンバーシップのカスタマイズに関するステップバイステップガイドを見ることができるこれらのリンクを共有しています

リンク 1
リンク 1 は、ログイン認証のために電子メールをユーザー名に置き換えるのに役立ちます。これは、Microsoft が提供する ID モジュールで開発者が必要とする最も一般的なカスタマイズの 1 つです。

リンク2

2 番目の記事は、作成したユーザーにロールを追加してアタッチする方法と、ユーザー登録ページへのアクセスを管理者のみに制限する方法を理解するのに役立ちます。このように、これら 2 つの記事の助けを借りて、認証と承認の基本を理解していただければ幸いです。

于 2017-01-04T18:55:17.943 に答える
0

ASP.NET MVC 4 Internet テンプレートは、 SimpleMembershipの上に構築された非常に便利な新しい機能をいくつか追加します。これらの変更により、よりシンプルで拡張可能なメンバーシップ API や OAuth のサポートなど、いくつかの優れた機能が追加されます。ただし、新しいアカウント管理機能にはSimpleMembershipが必要であり、既存の ASP.NET メンバーシップ プロバイダーに対しては機能しません。

ここで ASP.NET Identity のリソースを確認してください。

http://www.asp.net/identity/overview/getting-started/aspnet-identity-recommended-resources

于 2016-09-19T14:47:45.737 に答える
0
http://logcorner.com/how-to-configure-custom-membership-and-role-provider-using-asp-net-mvc4/

**for creating a CustomerMemberShipClass** your class must implement System.Web.Security.MembershipProvider abstarct class. and you override the method ValidateUser()
in this ValidateUser() you have to write your own logic based on which you want authenticate user and return true or false according to it.

Sample ValidateUser method 
  public override bool ValidateUser(string username, string password)
        {
           int count=db.GetAll().Where(x => x.UserEmail == username && x.password == password).Count();
           if (count != 0)
               return true;
           else
               return false;
        }

later in web.config file you have add the fallowing under <sytem.web> element


<membership defaultProvider="MyMembershipProvider">
      <providers>
        <clear/>
        <add name="MyMembershipProvider" type="Write your class name that is implementing membershipproviderclas"/>
      </providers>
    </membership>

after doing this you can validate user using **MemberShip.Validate(Username,password)** which returns true or false based on ur code in ValidateUser() in CustomMemberShipProvider class and this will also set **[Authorize] attribute**

**for creating a CustomRoleProviderClass** your class must inherit System.Web.Secuirty.RoleProvider and override the appropriate method to get the roles for the user

SAmple method for getting roles for user


 public override string[] GetRolesForUser(string username)
        {
            string[] str={db.GetAll().Where(x=>x.UserEmail==username).FirstOrDefault().Role};
            return str;
        }

after this you must add the fallowing in web.config file in <system.web> element

<roleManager enabled="true" defaultProvider="MyRoleProvider">
      <providers>
        <clear/>
        <add name="MyRoleProvider" type="BLL.DoctorAppointmentRoleProvider"/>
      </providers>
    </roleManager>

 and after this u can check the role of the user using attribute **[Authorize(role="admin"])** and in Razor view you can check using User.IsinROle("A").
于 2019-01-25T08:09:34.570 に答える