2.0.3
This commit is contained in:
parent
0c601885db
commit
149937ed88
3
.gitignore
vendored
3
.gitignore
vendored
@ -6,7 +6,8 @@
|
||||
#
|
||||
# or wget:
|
||||
# wget --no-check-certificate http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore
|
||||
|
||||
pre_commit.log
|
||||
pre_commit.ps1
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
|
@ -1,4 +1,12 @@
|
||||
using Companies.Data.Ajax;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
using Companies.Data.Ajax;
|
||||
using Companies.Data.Home;
|
||||
using Companies.Services;
|
||||
using Extensions;
|
||||
|
@ -1,4 +1,12 @@
|
||||
using Companies.Data.Home;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
using Companies.Data.Home;
|
||||
using Companies.Models;
|
||||
using Companies.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
@ -1,4 +1,12 @@
|
||||
using Companies.Data.Home;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
using Companies.Data.Home;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Companies.Data.Ajax
|
||||
|
@ -1,4 +1,12 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
|
@ -1,4 +1,12 @@
|
||||
namespace Extensions;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
namespace Extensions;
|
||||
|
||||
/// <summary>
|
||||
/// Класс вспомогательных методов для авторизации
|
||||
|
@ -1,4 +1,12 @@
|
||||
using System.Text.Json;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
|
@ -1,4 +1,12 @@
|
||||
using Microsoft.AspNetCore.Antiforgery;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
using Microsoft.AspNetCore.Antiforgery;
|
||||
|
||||
namespace Middleware;
|
||||
|
||||
|
@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
namespace Companies.Models
|
||||
{
|
||||
public class ErrorViewModel
|
||||
|
@ -1,4 +1,12 @@
|
||||
using Companies.Data.Home;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
using Companies.Data.Home;
|
||||
|
||||
namespace Models;
|
||||
|
||||
|
@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
using Companies.Services;
|
||||
using Extensions;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
@ -11,38 +19,38 @@ var connection = builder.Configuration.GetConnectionString("DefaultConnection");
|
||||
// Configure Database
|
||||
builder.Services.AddDbContext<DatabaseContext>(options =>
|
||||
options.UseSqlite(connection));
|
||||
//конфигурация политики кук
|
||||
//конфигурация политики кук
|
||||
builder.Services.Configure<CookiePolicyOptions>(options =>
|
||||
{
|
||||
options.CheckConsentNeeded = _ => false; //политики согласия не оцениваются
|
||||
options.MinimumSameSitePolicy = SameSiteMode.None; //запрет переопределения значений cookie
|
||||
options.Secure = CookieSecurePolicy.Always; //файлы cookie должны быть безопасными
|
||||
options.CheckConsentNeeded = _ => false; //политики согласия не оцениваются
|
||||
options.MinimumSameSitePolicy = SameSiteMode.None; //запрет переопределения значений cookie
|
||||
options.Secure = CookieSecurePolicy.Always; //файлы cookie должны быть безопасными
|
||||
});
|
||||
builder.Services.AddSession(options =>//конфигурируем параметры сессии
|
||||
builder.Services.AddSession(options =>//конфигурируем параметры сессии
|
||||
{
|
||||
options.Cookie.Name = AuthExt.NameSessionCookie; //ставим название куку сессии
|
||||
options.IdleTimeout = TimeSpan.FromMinutes(10); //время хранения сессии при бездействии
|
||||
options.Cookie.HttpOnly = true; //доступ только с сервера
|
||||
options.Cookie.IsEssential = true; //нужен ли файл cookie для работы (true-проверки политики согласия пропускаются)
|
||||
options.Cookie.Name = AuthExt.NameSessionCookie; //ставим название куку сессии
|
||||
options.IdleTimeout = TimeSpan.FromMinutes(10); //время хранения сессии при бездействии
|
||||
options.Cookie.HttpOnly = true; //доступ только с сервера
|
||||
options.Cookie.IsEssential = true; //нужен ли файл cookie для работы (true-проверки политики согласия пропускаются)
|
||||
});
|
||||
builder.Services.AddAntiforgery(options =>//настройки службы против подделки запросов
|
||||
builder.Services.AddAntiforgery(options =>//настройки службы против подделки запросов
|
||||
{
|
||||
options.HeaderName = "X-CSRF-TOKEN";
|
||||
});
|
||||
|
||||
builder.Services.AddControllersWithViews();// Add services to the container.
|
||||
|
||||
builder.Services.AddCors(); //добавляем политику CORS
|
||||
builder.Services.AddCors(); //добавляем политику CORS
|
||||
|
||||
//добавляем Swagger
|
||||
//добавляем Swagger
|
||||
builder.Services.AddSwaggerGen(options =>
|
||||
{
|
||||
//пишем опции Swagger
|
||||
//пишем опции Swagger
|
||||
options.SwaggerDoc("v1", new OpenApiInfo
|
||||
{
|
||||
Version = "1.0.1",
|
||||
Title = "REST API Strategy Risk",
|
||||
Description = "Тестовове задание",
|
||||
Description = "Тестовове задание",
|
||||
Contact = new OpenApiContact
|
||||
{
|
||||
Name = "Nikolay",
|
||||
@ -59,7 +67,7 @@ var app = builder.Build();
|
||||
app.UseSwagger();
|
||||
app.UseSwaggerUI(c =>
|
||||
{
|
||||
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Документация");
|
||||
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Документация");
|
||||
c.RoutePrefix = "docs";
|
||||
});
|
||||
|
||||
@ -77,17 +85,17 @@ else
|
||||
|
||||
app.UseStaticFiles();
|
||||
|
||||
app.UseCookiePolicy(); //использовать политику куки
|
||||
app.UseCookiePolicy(); //использовать политику куки
|
||||
|
||||
app.UseSession(); //использовать сессии
|
||||
app.UseSession(); //использовать сессии
|
||||
|
||||
app.UseRouting();
|
||||
|
||||
app.UseMiddleware<AntiforgeryMiddleware>(); //обработчик службы против подделки запросов
|
||||
app.UseMiddleware<AntiforgeryMiddleware>(); //обработчик службы против подделки запросов
|
||||
|
||||
app.UseAuthorization();
|
||||
|
||||
app.UseCors(options =>//используем CORS с любых хостов
|
||||
app.UseCors(options =>//используем CORS с любых хостов
|
||||
{
|
||||
options.SetIsOriginAllowed(_ => true)
|
||||
.AllowAnyMethod()
|
||||
@ -96,10 +104,10 @@ app.UseCors(options =>//
|
||||
});
|
||||
|
||||
#pragma warning disable ASP0014
|
||||
app.UseEndpoints(endpoints =>//маршрутизация
|
||||
app.UseEndpoints(endpoints =>//маршрутизация
|
||||
{
|
||||
endpoints.MapDefaultControllerRoute();//дефолтный роутер
|
||||
endpoints.MapControllers();//для маршрутизации если используются атрибуты
|
||||
endpoints.MapDefaultControllerRoute();//дефолтный роутер
|
||||
endpoints.MapControllers();//для маршрутизации если используются атрибуты
|
||||
});
|
||||
#pragma warning restore ASP0014
|
||||
|
||||
|
@ -1,4 +1,12 @@
|
||||
using Companies.Data.Home;
|
||||
/*
|
||||
* Author: Nikolay Dvurechensky
|
||||
* Site: https://www.dvurechensky.pro/
|
||||
* Gmail: dvurechenskysoft@gmail.com
|
||||
* Last Updated: 12 мая 2025 07:46:05
|
||||
* Version: 1.0.8
|
||||
*/
|
||||
|
||||
using Companies.Data.Home;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Diagnostics;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
Loading…
Reference in New Issue
Block a user