ASP.net MVC 3 Webアプリケーションを実行していて、メンバーシッププロバイダーを使用しています。ユーザー(または管理者)が既存のアカウントのユーザー名を変更できるようにすることが可能かどうか知りたいですか?私はこれを行う方法を見つけていません。ユーザー名はメールアドレスではありませんが、新しい名前を割り当てる前に、その一意性が検証されます。
どんな助けでもいただければ幸いです!
ASP.net MVC 3 Webアプリケーションを実行していて、メンバーシッププロバイダーを使用しています。ユーザー(または管理者)が既存のアカウントのユーザー名を変更できるようにすることが可能かどうか知りたいですか?私はこれを行う方法を見つけていません。ユーザー名はメールアドレスではありませんが、新しい名前を割り当てる前に、その一意性が検証されます。
どんな助けでもいただければ幸いです!
メンバーシッププロバイダーは、ユーザー名を更新する方法を提供していません。この変更を許可するには、メンバーシッププロバイダーのUpdateUserメソッドを拡張するか、メンバーシップテーブルを直接操作する必要があります。ただし、これにアプローチする場合は、いくつかの項目に注意してください
更新時には、ユーザーが作成されたときに発生するのと同じように、ユーザー名の一意性を確認する必要があります。
ユーザーがログインしてユーザー名を変更した場合は、強制的にログアウトして再度ログインするか、AuthenticationTicketCookieを再発行する必要があります。その理由は、ユーザー名を変更すると、authTicketcookieに保存されているユーザー名と実際のユーザー名が一致しなくなるためです。データストアのクエリやコンテンツへの承認の確認に使用する場合HttpContext.Identity.User.Name
、そのユーザー名は存在しないため、結果は返されなくなります。