Tag: asp.net core

ASP.NET Core Identity在应用程序启动时添加自定义用户角色

在ASP.NET Core应用程序中,我想创建某些角色作为管理不同用户权限的基础。 遗憾的是,文档告知详细说明如何使用自定义角色,例如在控制器/操作中,而不是如何创建它们。 我发现我可以使用RoleManager ,当实例在应用程序中注册了已定义的ASP.NET核心标识时,实例会自动注入到控制器构造函数中。 这让我添加一个这样的自定义角色: var testRole = new IdentityRole(“TestRole”); if(!roleManager.RoleExistsAsync(testRole.Name).Result) { roleManager.CreateAsync(testRole); } 它在数据库中工作并创建角色。 但是这种检查总是会在数据库上产生开销,调用特定的控制器/动作。 所以我想在我的应用程序启动后检查一次 ,如果自定义角色存在并添加它们。 Startup.cs中的ConfigureServices方法看起来很不错。 但是:如何创建RoleManager类的实例来执行此操作? 我想在这里使用最佳实践方法,而不是通过自己创建依赖实例来解决这个问题,这似乎会导致很多工作,因为它没有很好的文档化,并且肯定不会遵循最佳实践,因为ASP.NET Core正在使用dependency injection这样的事情(这在我的意见中也是合理的)。 换句话说:我需要在控制器之外使用dependency injection。

尝试激活’AuthController’时无法解析类型’Microsoft.AspNetCore.Identity.UserManager`的服务

我在登录控制器中收到此错误。 InvalidOperationException:尝试激活’Automobile.Server.Controllers.AuthController’时,无法解析类型’Microsoft.AspNetCore.Identity.UserManager`1 [Automobile.Models.Account]’的服务。 这是Auth Controller构造函数: private SignInManager _signManager; private UserManager _userManager; public AuthController(UserManager userManager, SignInManager signManager) { this._userManager = userManager; this._signManager = signManager; } 这是在startup.cs中的ConfigureServices: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); services.Configure(Configuration.GetSection(“AppSettings”)); //var provider = HttpContext.ApplicationServices; //var someService = provider.GetService(typeof(ISomeService)); services.AddDbContext(options => options .UseSqlServer(Configuration.GetConnectionString(“DefaultConnection”), b => b.MigrationsAssembly(“Automobile.Server”) )); services.AddIdentity(options => { […]

在asp .Net Core项目中添加wsdl web引用

我有网络服务http://www.mcommunicator.ru/m2m/m2m_api.asmx?WSDL我在Web API项目中从Visual Studio 2015连接到它时遇到问题 我已经尝试添加的“添加Web引用”没有:引用 – >添加连接服务 – > WCF服务 – 预览它通过我的地址找到1个Web服务,但是单击完成后出现错误。 我想这不是WCF服务,这就是我收到错误的原因。 但我没有看到任何其他方法来添加它。 请帮我。

如何在#if语句中设置.NET Core以进行编译

我创建了multy框架项目。 我使用这样的东西: #if NET40 Console.WriteLine(“hello from net 4”); #endif 但我无法找到.NET Core的通配符。 我试过了 : #if NETCOREAPP1.0 Console.WriteLine(“hello from net Core”); #endif 但这不是有效的声明。 谢谢。

Asp.Net Core – 最简单的表单身份validation

我有这个旧的MVC5应用程序,它以最简单的forms使用表单身份validation。 web.config中只存储一个帐户,没有角色等。 登录例程只是调用 FormsAuthentication.Authenticate(name, password); 就是这样。 在asp.net核心中是否有类似的东西(在简单性方面)?

使用授权标头(Bearer)设置Swagger(ASP.NET Core)

我有一个Web API(ASP.NET核心),我正在尝试调整swagger来进行调用。 这些调用必须包含Authorization标头,我正在使用Bearer身份validation。 来自Postman等第三方应用的电话也没问题。 但我遇到了设置swagger标头的问题(由于某种原因我没有收到标头)。 这就是现在的样子: “host”: “localhost:50352”, “basePath”: “/” , “schemes”: [ “http”, “https” ], “securityDefinitions”: { “Bearer”: { “name”: “Authorization”, “in”: “header”, “type”: “apiKey”, “description”: “HTTP/HTTPS Bearer” } }, “paths”: { “/v1/{subAccountId}/test1”: { “post”: { “tags”: [ “auth” ], “operationId”: “op1”, “consumes”: [“application/json”, “application/html”], “produces”: [“application/json”, “application/html”], “parameters”: [ { “name”: “subAccountId”, “in”: […]

ASP.NET核心中的承载令牌认证

尝试在简单的.Net Core Web API项目中使用基于承载令牌的身份validation。 这是我的Startup.cs app.UseMvc(); //— const string secretKey = “mysupersecret_secretkey!123”; SymmetricSecurityKey signingKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secretKey)); SigningCredentials signingCredentials = new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256); //— const string audience = “Audience”; const string issuer = “Issuer”; //— TokenValidationParameters tokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = signingKey, ValidateIssuer = false, ValidIssuer = issuer, ValidateAudience = […]

如何使用Consul自行注册服务

我正在尝试在启动时将我的ASP.NET核心应用程序自行注册到Consul注册表,并在关闭时注销它。 从这里我可以收集调用http api [ put /v1/agent/service/register ]可能是要走的路(或者可能不是!)。 从我的应用程序,我以为我将目标是Startup类,从添加我的.json文件开始 public Startup(IHostingEnvironment env) { var builder = new Configuration().AddJsonFile(“consulconfig.json”); Configuration = builder.Build(); } 但现在,我陷入困境,因为ConfigureServices方法告诉我在哪里向容器添加服务,而Configure方法是我配置Http请求管道的地方。 有人指出我正确的方向,在线阅读,例子等

如何在ASP.NET Core Identity中注销其他用户

如何在ASP.NET Core Identity中注销另一个用户(不是当前记录的用户)。 我知道SignOutAsync()有一个SignOutAsync()方法,但似乎没有覆盖接受用户作为参数。 我正在寻找类似的东西: signInManager.SignOutAsync(user);

在ASP.NET Core应用程序中设置RabbitMQ使用者

我有一个ASP.NET Core应用程序,我想使用RabbitMQ消息。 我已成功在命令行应用程序中设置发布者和使用者,但我不确定如何在Web应用程序中正确设置它。 我想在Startup.cs中初始化它,但当然一旦启动完成它就会死掉。 如何从Web应用程序以正确的方式初始化消费者?