asp.net-core-identity 相关问题

使用ASP.NET Core Identity将登录功能添加到ASP.NET Core应用程序。

在Asp.net Core Identity中通过电话号码注册并登录

asp.net core身份注册登录可以不使用Email吗? 用户只需通过手机号码注册并通过短信验证登录即可。

回答 3 投票 0

如何在 ASP.NET Core MVC 中获取 Azure Active Directory 的应用程序角色?

我创建了一个新的 ASP.NET Core MVC 6.0 Web 应用程序,并将其定义为使用 Microsoft Identity Platform 进行身份验证,如下所示: 现在我读了这篇文章,它展示了我们如何定义不同的...

回答 2 投票 0

如何在一次数据库调用中加载具有角色的 ASP.NET Core Identity 用户

我们有一个方法来加载所有 ASP.NET Core Identity 用户 等待 _userManager.Users.ToListAsync() 我们还有一个方法来加载特定身份用户的角色: IList 用户角色 =

回答 1 投票 0

如何修复错误外键属性“ApplicationUserClaim.UserId1”是在影子状态下创建的

我正在使用 Microsoft.EntityFrameworkCore.SqlServer 8.0 Microsoft.AspNetCore.Identity.EntityFrameworkCore 8.0 我试图解决的总体问题是以下代码不适用于

回答 1 投票 0

如何在 .NET 8 中使用 Entity Framework Core 进行身份验证?

我正在关注 Nick Chapsas 的 YouTube 视频,题为“您必须了解的 .NET 8 Auth 更改!”。我在尝试运行命令时特别陷入时间索引 5:46 点网 ef

回答 1 投票 0

如何在 .NET 8 中使用 EntityFrameworkCore 进行身份验证?

我正在关注 Nick Chapsas 的 YouTube 视频,题为“您必须了解的 .NET 8 Auth 更改!”。我在尝试运行命令 dotnet ef 时特别陷入时间索引 5:46

回答 1 投票 0

Web API 中的 ASP.NET Core 身份

是否有关于如何为 Web API 设置 ASP.NET Core Identity 的指南? 我发现的所有内容都使用视图模型,并将注册/登录页面作为 RazorPage 显示在服务器上。 MS 的介绍文档...

回答 2 投票 0

如何在asp.net core razor网站中存储int userId

正在努力寻找一个合适的解决方案来跨多个页面访问 int userId 值 所以我不是专家。正当你觉得自己有能力的时候,这样的问题就会出现。 我有一个asp....

回答 1 投票 0

ASP.NET Core 7 Identity + JWT 身份验证无法正常工作

寻找解决方案! 将 ClockSkew 设置为 TimeSpan.Zero 我想使用 ASP.NET Core Identity 框架并通过 JWT 进行身份验证。 我已经注入了身份: builder.Services.AddIdentity 寻找解决方案! 将 ClockSkew 设置为 TimeSpan.Zero 我想使用 ASP.NET Core Identity 框架并通过 JWT 进行身份验证。 我已注入身份: builder.Services.AddIdentity<AppUser, IdentityRole>(options => { options.Password.RequireNonAlphanumeric = false; options.Password.RequireUppercase = false; options.Password.RequireLowercase = false; options.Password.RequireDigit = false; options.Password.RequiredUniqueChars = 1; options.Password.RequiredLength = 8; options.Lockout.AllowedForNewUsers = true; options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"; }) .AddEntityFrameworkStores<ApplicationDbContext>(); 和 JWT 中间件: builder.Services .AddAuthentication(options => { options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultSignInScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, config => { var _configuration = builder.Configuration; JwtSettings jwtSettings = _configuration.GetSection("Auth").Get<AuthSettings>()!.Jwt; // We already check null var secretKey = jwtSettings.Key; config.TokenValidationParameters = new TokenValidationParameters() { ValidIssuer = jwtSettings.Issuer, ValidAudience = jwtSettings.Audience, ValidateAudience = true, ValidateIssuer = true, ValidateLifetime = true, ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secretKey)), ClockSkew = TimeSpan.Zero // since by default the token is valid for 5 minutes, // you need to manually configure these properties, // which is why you can make the token valid for less than 5 minutes }; }); 控制器有一个 Login 方法,其属性为 [Authorize]: [Authorize()] [HttpGet()] public IActionResult Secret() { return Ok(); } 世代代币 public string GenerateAccessToken(IEnumerable<Claim> claims) { var jwtSettings = _authSettings.Jwt; var secretKey = jwtSettings.Key; var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secretKey)); var signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( jwtSettings.Issuer, jwtSettings.Audience, claims, expires: DateTime.Now.ToUniversalTime(),, signingCredentials: signingCredentials ); return new JwtSecurityTokenHandler().WriteToken(token); } 但是当我发送带有已过期令牌的请求时,它会得到验证。在 TokenService 中,我生成了过期日期为“现在”的 JWT。 我使用 UserManager 和 SignInManager 来授权用户。 有什么问题吗? 我已经尝试过更改 Identity 和 JWT 实现的顺序。 TokenValidationParameters.ClockSkew的默认值为 5 分钟。您可以将该值设置为较低的值。

回答 1 投票 0

使用多种身份验证方案时出现 NullReferenceException

根据配置的身份验证方式,JWT 或 AzureAD 身份验证可在受保护端点上运行,但其中之一总是失败,并显示“对象引用未设置到对象的实例”...

回答 1 投票 0

使用多种身份验证方案时,C# ASP .NET Core NullReferenceException

根据配置的身份验证方式,JWT 或 AzureAD 身份验证可在受保护端点上运行,但其中之一总是失败,并显示“对象引用未设置到对象的实例”...

回答 1 投票 0

登录并获取数据后,为什么 Angular Http Put 请求在第一次尝试 API 控制器时成功,但在 20 秒后下一次 PUT 失败?

我对 ASP.NET Core、Angular HttpClient 和 Observables 相当陌生,所以我需要一些帮助。 我创建并发布了一个基于 Web 的应用程序,该应用程序不面向公众,它有一个 Angular 9 客户端...

回答 1 投票 0

UserManager ResetPasswordAsync 异常“键值已被跟踪”

我正在尝试使用 Microsoft.AspNetCore.Identity.UserManager 上的 ResetPasswordAsync 方法重置用户的密码。 // 注入用户管理器 [注入]公共UserManager 我正在尝试在 ResetPasswordAsync 上使用 Microsoft.AspNetCore.Identity.UserManager 方法重置用户的密码。 // Inject the UserManager [Inject] public UserManager<ApplicationManager> UserManager { get; set; } // Inject the factory [Inject] public IDbContextFactory<DataContext> Factory { get; set; } ... // Reset the password async Task ResetPasswordAsync (ApplicationUser user) { ... var context = Factory.CreateDbContext(); var password = CreatePassword(); var token = await UserManager.GeneratePasswordResetTokenAsync(user); // Tried setting the state to detached, but it didn't work dataContext.Entry(user).State = EntityState.Detached; // This line throws the exception await userManager.ResetPasswordAsync(user, token, password ); } 但是,最后一行抛出了这个异常。 无法跟踪实体类型“ApplicationUser”的实例,因为已跟踪具有该键值的另一个实例。附加现有实体时,请确保仅附加一个具有给定键值的实体实例。 我使用实体框架核心作为数据上下文,使用 blazor 作为用户界面。 作为一般规则,避免传递分离的实体,它会导致许多这样的问题。 当你有这样的代码时: var token = await UserManager.GeneratePasswordResetTokenAsync(user); 您正在传递传递到方法中的分离的“用户”引用。相反,简化。如果您的方法只有用户 ID,您会做什么? async Task ResetPasswordAsync (int userId) { var user = await UserManager.FindByIdAsync(userId); var password = CreatePassword(); var token = await UserManager.GeneratePasswordResetTokenAsync(user); await userManager.ResetPasswordAsync(user, token, password ); } 这段代码可能会按预期工作。作为在以下位置传递用户引用的解决方法: async Task ResetPasswordAsync (ApplicationUser currentUser) { var user = await UserManager.FindByIdAsync(currentUser.UserId); var password = CreatePassword(); var token = await UserManager.GeneratePasswordResetTokenAsync(user); await userManager.ResetPasswordAsync(user, token, password ); } 本质上使用 UserManager 及其底层 DbContext 实例所熟悉的 User 实例引用,而不是分离的引用。 将分离用户传递到方法中的问题在于,虽然您可以将该分离引用传递给像 GeneratePasswordResetToken 这样的方法,但 UserManager 很可能会使用该 User 引用创建一个 Token 实例。 UserManager 的 DbContext 可能已加载并且仍在跟踪对用户的引用,因此当您使用该分离引用保存用户/令牌时,最终可能会收到底层 DbContext 的错误 正在跟踪参考。 简而言之,为了避免此类问题,请设计避免将实体传递到超出读取它们的 DbContext 范围之外。对于 Blazor 和 WPF 应用程序来说,这可能会很棘手,因为在使用注入的 DbContext 实例时,边界没有明确定义。如果您确实有理由使用分离实体,那么您必须小心检查它们是否被底层 DbContext 跟踪,如果是,则替换这些引用。解决方案是 not DbContextFactory,因为它肯定会返回一个新的 DbContext 实例,您需要 DbContext 引用,在这种情况下 UserManager 将配置为使用。 (注入到 UserManager 中的内容)因此,在这种情况下,更快的修复方法是从 UserManager 中获取用户引用。

回答 1 投票 0

ASP.NET Core React 模板 v3.15:无需 IdentityServer 即可安全?

最近的某个时候,Microsoft 开始在 ASP.NET Core React 模板(在 Identity Core 之上)中包含 IdentityServer 功能。我试图清楚地理解 t...

回答 1 投票 0

RoleManager.FindByNameAsync 抛出 NullReferenceException

在我的 Startup.cs 文件中,在配置方法中我尝试植入一些角色。 我在方法调用中注入 IServiceScopeFactory: RoleSeeder(app.ApplicationServices.GetRequiredService<

回答 1 投票 0

ASP.NET Core MVC:开发基于角色的授权

正如我在标题中提到的,我正在ASP.NET Core MVC平台上开发一个程序。我在项目中授权时使用 IdentityUser 和 IdentityRole 。 如您所知,在本次授权时...

回答 1 投票 0

ASP.NET Core,电子邮件确认令牌在我生成后立即无效?

我有这个代码: 用户.电子邮件 = 客户.电子邮件; //用户.用户名 = 客户.电子邮件; //user.NormalizedEmail = customer.Email.ToUpper(); //user.NormalizedUserName = customer.Email.ToUpper(); //用户。

回答 1 投票 0

UserManager.CheckPasswordAsync 与 SignInManager.PasswordSignInAsync

使用 asp net core 身份 - 当用户提供密码和用户名来获取 jwt 令牌时,他们将凭据发布到 /api/token 我的令牌控制器方法应该使用 usermanager 来检查 pa...

回答 2 投票 0

如何在 ASP.NET Core 6 MVC 应用程序的欢迎/开始页面上直接显示登录屏幕?

我正在开发我的第一个项目,基于 ASP.NET Core 6 MVC 的应用程序,具有默认身份 Razor 页面。我正在开发 .NET 6 并使用 EF Core 6。该应用程序是一个客户管理系统,适合实习生...

回答 2 投票 0

在 dotnet 7 中使用 JwtBearer 旁边的 WebApi 和 AspIdentityCore 时,为什么我会重定向到帐户/登录页面?

我正在尝试将 ASP.NET Core 7 Web API 配置为使用 ASP.NET Core Identity 作为用户/角色后端,并使用 JwtBearer 作为授权方法。 这是我在 Progr 中的服务配置...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.