登録とログインが必要なサイトを作成する際に、何もすばやく必要なものがなければ、メンバーシップに[許可]属性とそれ以外のものを使用します。それが何のためにうまく動作します。しかし今、私はもっと何かを求めています。基本的に私はASP.NET MVC EF CodeFirstを使用してサイトを開発しており、さらに多くの情報を保持するDBに永続するUserエンティティを作成したいと考えています。このような情報には、FirstName、LastName、Gender、Countryなどの追加プロパティが必要です。.NETカスタムメンバーシップスカスタムログイン/登録:認証/承認
カスタムMembershipProviderやMembershipUserなどの実装を読み返しました。しかし、それは私が最後に望むように一緒に来ていないだけです。今度はPHPでサイトを開発するとき、あるいはASP.NETで他の時にUserクラスを作成し、登録ページに必要なすべてのプロパティを与えてDBにプッシュするだけです。それから私がログインするとき、私はユーザー名か電子メールとパスワードを取得し、ユーザーが許可されているかどうかを示すセッション変数を作成するだけです。
これは問題ありませんか?私はちょうどなぜこのメンバーシップ全体の事がそれほど複雑であるかがわからないので、私はそれをすべて欠いているように感じます。また、私は
FormsAuthentication.SetAuthCookie(model.UserName, createPersistentCookie: false);
ことと...
Session["username"] = model.UserName
私は何かを決めたと思うたびに、何か他のことが示唆され、長期的には最適なパフォーマンスを確保するための方法... ご回答有難うございます。 –
私が言及したことを忘れてしまったのは、FormsAuthenticationを使用して現在のIIdentityとIPrincipalを設定すると、各リクエスト(PHPのコメントに似ています)で「現在のユーザー」にアクセスできるようになることです。たとえば、現在の「ユーザー名」を取得するには、単にコントローラ内でUser.Identity.Nameを使用します。 – Jesse