タグ付けされた質問 「asp.net-identity」

ASP.NET IDシステムは、以前のASP.NETメンバーシップシステムとシンプルメンバーシップシステムを置き換えるように設計されています。

13
ユーザー名として電子メールアドレスを許可するようにMicrosoft.AspNet.Identityを構成する
私は新しいアプリケーションを作成している最中で、EF6-rc1、Microsoft.AspNet.Identity.Core 1.0.0-rc1、Microsoft.AspNet.Identity.EntityFramework 1.0.0-rc1、Microsoft.AspNet.Identityを使用して作業を開始しました.Owin 1.0.0-rc1などと昨日のRTMリリースでは、今夜NuGet経由でRTMにアップデートしました。 これまでに行った作業に対するいくつかのコード変更を除いて、アプリのローカルユーザーアカウントを作成しようとするまでは、すべて順調に進んでいるように見えました。 私は、リリース候補でうまく機能するユーザー名形式である電子メールアドレスに取り組んでいましたが、ユーザー名の電子メールアドレスを持つユーザーを作成すると、次の検証エラーがスローされます。 ユーザー名xxxxx@xxxx.comは無効です。使用できるのは文字または数字のみです。 私はこの1時間かそこらの構成オプションに関する解決策やドキュメントを探すのに費やしましたが、役に立ちませんでした。 ユーザー名に電子メールアドレスを許可するように構成する方法はありますか?

3
MVC5で非同期を使用する利点は何ですか?
違いは何ですか: public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { IdentityResult result = IdentityManager.Authentication.CheckPasswordAndSignIn(AuthenticationManager, model.UserName, model.Password, model.RememberMe); if (result.Success) { return Redirect("~/home"); } else { AddErrors(result); } } return View(model); } そして: [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { IdentityResult result = …

8
userIDをパラメーターとして渡さずに、ApiControllerアクション内で現在のユーザーを取得します。
userNameまたはuserIdをパラメーターとして渡さずに、安全なApiControllerアクション内で現在のユーザーを取得するにはどうすればよいですか? 安全な行動の範囲内であるため、これは利用可能であると想定しています。安全なアクションとは、ユーザーが既に認証されており、リクエストにベアラートークンがあることを意味します。WebApiがユーザーを承認したとすると、アクションパラメーターとして渡さなくても、userIdにアクセスする組み込みの方法が存在する可能性があります。

10
ASP.NET Identityのリセットパスワード
新しいASP.NET Identityシステムでユーザーのパスワードを取得するにはどうすればよいですか?または、現在のパスワード(ユーザーがパスワードを忘れた)を知らずにリセットするにはどうすればよいですか?

9
ASP.NET Identity with EF Database First MVC5
Database FirstとEDMXで新しいAsp.net Identityを使用することは可能ですか?それとも最初にコードだけですか? これが私がしたことです: 1)新しいMVC5プロジェクトを作成し、新しいIDでデータベースに新しいユーザーテーブルとロールテーブルを作成しました。 2)次に、Database First EDMXファイルを開き、新しいIdentity Usersテーブルにドラッグしました。それに関連する他のテーブルがあるからです。 3)EDMXを保存すると、Database First POCOジェネレーターがユーザークラスを自動作成します。ただし、UserManagerおよびRoleManagerは、新しいIdentity名前空間(Microsoft.AspNet.Identity.IUser)から継承するUserクラスを想定しているため、POCO Userクラスを使用しても機能しません。 私のPOCO生成クラスを編集して、ユーザークラスがIUserから継承するようにすることは、可能な解決策だと思いますか? または、ASP.NET IdentityはCode First Designとのみ互換性がありますか? ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++ 更新:以下のAnders Abelの提案に従って、これは私がやったことです。それはうまくいきますが、もっとエレガントな解決策があるかどうか疑問に思っています。 1)自動生成されたエンティティと同じ名前空間内に部分クラスを作成して、エンティティUserクラスを拡張しました。 namespace MVC5.DBFirst.Entity { public partial class AspNetUser : IdentityUser { } } 2)DBContextではなくIdentityDBContextから継承するようにDataContextを変更しました。EDMXを更新し、DBContextクラスとEntityクラスを再生成するたびに、これをこれに戻す必要があることに注意してください。 public partial class MVC5Test_DBEntities : IdentityDbContext<AspNetUser> //DbContext 3)自動生成されたユーザーエンティティクラス内で、次の4つのフィールドにオーバーライドキーワードを追加するか、これらのフィールドはIdentityUserから継承されるため(ステップ1)、コメント化する必要があります。EDMXを更新し、DBContextクラスとEntityクラスを再生成するたびに、これをこれに戻す必要があることに注意してください。 override public string Id { get; …

11
Asp.net Identity MVC5でのロールの作成
新しいAsp.netIdentity SecurityFrameworkの使用に関するドキュメントはほとんどありません。 新しいロールを作成してユーザーを追加するためにできることをまとめました。私は次のことを試しました:ASP.NETIdentityに役割を追加する これは、このブログから情報を取得したようです。asp.netIDを使用して単純なTo Doアプリケーションを構築し、ユーザーをToDoに関連付けます。 モデルが変更されるたびに実行されるデータベース初期化子にコードを追加しました。RoleExists次のエラーで関数が失敗します。 System.InvalidOperationException mscorlib.dllで発生しましたエンティティタイプIdentityRoleは、現在のコンテキストのモデルの一部ではありません。 protected override void Seed (MyContext context) { var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); // Create Admin Role string roleName = "Admins"; IdentityResult roleResult; // Check to see if Role Exists, if not create it if (!RoleManager.RoleExists(roleName)) …

7
ASP.NET CoreIdentity-現在のユーザーを取得する
現在ログインしているMVC5のユーザーを取得するには、次のことを行う必要がありました。 using Microsoft.AspNet.Identity; [Authorize] public IHttpActionResult DoSomething() { string currentUserId = User.Identity.GetUserId(); } さて、ASP.NET Coreではこれでうまくいくと思いましたが、エラーが発生します。 using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Http; private readonly UserManager<ApplicationUser> _userManager; [HttpPost] [Authorize] public async Task<IActionResult> StartSession() { var curUser = await _userManager.GetUserAsync(HttpContext.User); } 何か案は? 編集: Gerardoの応答は順調ですが、ユーザーの実際の「ID」を取得するには、これは機能しているようです。 ClaimsPrincipal currentUser = this.User; var currentUserID = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;

4
ASP.NET Identity2.0で現在のユーザーIDを取得します
IdentityFrameworkの新しい2.0バージョンを使用するように切り替えました。1.0では、を使用してユーザーオブジェクトを取得できましたmanager.FindByIdAsync(User.Identity.GetUserId())。このGetUserId()メソッドは2.0には存在しないようです。 今私が理解できるのmanager.FindByEmailAsync(User.Identity.Name)は、usersテーブルのusernameフィールドを参照するものを使用することだけです。私のアプリケーションでは、これは電子メールフィールドと同じに設定されています。 誰かが自分の電子メールを更新する必要があるときに、これが将来的に問題を引き起こすことがわかります。Identity 2.0フレームワークの不変の値(idフィールドなど)に基づいて、現在ログインしているユーザーオブジェクトを取得する方法はありますか?

4
OWINセキュリティ-OAuth2更新トークンを実装する方法
Visual Studio2013に付属のWebApi 2テンプレートを使用していますが、ユーザー認証などを行うためのOWINミドルウェアがいくつかあります。 OAuthAuthorizationServerOptions私は、OAuth2サーバーが14日で期限切れになるトークンを配布するように設定されていることに気づきました OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/api/token"), Provider = new ApplicationOAuthProvider(PublicClientId,UserManagerFactory) , AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(14), AllowInsecureHttp = true }; これは私の最新のプロジェクトには適していません。を使用して更新できる短命のbearer_tokensを配布したいと思いますrefresh_token 私はたくさんのグーグルをしました、そして、何も役に立つものを見つけることができません。 だから、これは私が何とか到達したところです。「WTFdoInow」の段階になりました。 クラスのプロパティに従ってRefreshTokenProvider実装するを作成しました。IAuthenticationTokenProviderRefreshTokenProviderOAuthAuthorizationServerOptions public class SimpleRefreshTokenProvider : IAuthenticationTokenProvider { private static ConcurrentDictionary<string, AuthenticationTicket> _refreshTokens = new ConcurrentDictionary<string, AuthenticationTicket>(); public async …

1
ASP.NET MVC5でカスタム認証を実装する方法
ASP.NET MVC5アプリケーションを開発しています。既存のDBがあり、そこからADO.NETエンティティデータモデルを作成しました。そのDBに「username」列と「password」列を含むテーブルがあり、それらを使用してWebappに認証と承認を実装したいと思います。お客様の要件により、他のデータベース、テーブル、または列を作成できず、標準のID認証を使用できません。サインアップやパスワードの変更などを管理する必要はありません。パスワードとユーザー名でログインするだけです。どうやってやるの?

2
複数のユーザータイプのID-DbContextデザイン
.NET CoreのIdentityパッケージIdentityUser<Guid>を、単一のクラスで拡張された複数のクラスで使用しようとしていますUserRole。 UserStore<T>ユーザータイプごとに拡張する複数のクラスと、拡張する1つのクラスがありますRoleStore<UserRole>。 以下は私のstartup.csです: services.AddIdentity<InternalUser, UserRole>(IdentityOptions) .AddDefaultTokenProviders() .AddUserStore<InternalUserStore>() .AddRoleStore<GenericUserRoleStore>(); services.AddIdentityCore<Contractor>(IdentityOptions) .AddRoles<UserRole>() .AddDefaultTokenProviders() .AddUserStore<ContractorUserStore>() .AddRoleStore<GenericUserRoleStore>(); services.AddIdentityCore<Homeowner>(IdentityOptions) .AddRoles<UserRole>() .AddDefaultTokenProviders() .AddUserStore<HomeownerUserStore>() .AddRoleStore<GenericUserRoleStore>(); 私DbContextは延長していませんIdentityDbContext: public sealed class EntityDbContext: DbContext { } 複数のエラーが発生したため、以下を追加しましたDbContextが、コメント化しました。 public DbSet<IdentityUserClaim<Guid>> UserClaims { get; set; } public DbSet<IdentityUserRole<Guid>> UserRoles { get; set; } さまざまなエラーが発生します。 PluginType IUserStoreのインスタンス 'Dal.IdentityStores.InternalUserStore'およびPluginTypeのインスタンス 'RoleManager'でビルドエラーが発生しましたMicrosoft.AspNetCore.Identity.RoleManager 1[Models.Entities.Users.UserRole] - and …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.