Есть база данных с логинами и паролями, по которой авторизирую пользователей с помощью cookie. Но в ней есть не все пользователи. Я решил добавить в проект Identity, с помощью которой выдавать свои учетки для таких случаев. Вот чем проблема: после введения Identity авторизация по кукам перестала работать.
Я создал два отдельных проекта и убедился, что по отдельности эти механизмы работают, но совместно работает только Identity. Есть ли какой-нибудь способ совместить оба этих механизма?
Авторизация по кукам:
private async Task Authentificate(User user)
{
var claims = new List<Claim>
{
new Claim(ClaimsIdentity.DefaultNameClaimType, user.Email),
new Claim(ClaimsIdentity.DefaultRoleClaimType, user.Role?.Name),
new Claim("company", user.Company.Name)
};
var id = new ClaimsIdentity(claims, "ApplicationCookie", ClaimsIdentity.DefaultNameClaimType, ClaimsIdentity.DefaultRoleClaimType);
await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(id));
}
Код класса Startup (без строчек контекста):
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddIdentity<User, IdentityRole>(options =>)
.AddEntityFrameworkStores<ApplicationDbContext>();
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.LoginPath = new Microsoft.AspNetCore.Http.PathString("/Account/Login");
options.AccessDeniedPath = new Microsoft.AspNetCore.Http.PathString("/Account/AccessDenied");
});
}
public static void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Установил EF6, хочу создать модель на основе уже существующей базы данныхВыбивает EDM на моменте когда появляется окно с выбором версии EF6
Написал небольшое приложения которое читает логи по SHH с разных серверовСейчас все работает на WinForms, но я хотел бы перенести на WPF
Написал классы моделей, написал DBContext, попробовал сделать миграцию, вроде бы все получилось, однако, при выполнении миграции, или обновлении...
Подскажите как объединить два запроса в один, в нете подходящей инфы не нашел