c57ad182b0
- Remove QuantEngine.Web.Client from .sln (keep on disk for reference) - Replace Blazor Interactive WebAssembly with server-rendered Razor Pages - Implement Cookie Authentication (HttpOnly, SameSite=Lax, 12h expiry) - Add AuthService with BCrypt password hashing + auto-migration from SHA-256 - Implement IpLockoutService (3 strikes → 15-min ban) - Create Admin folder structure with Layout + shared partials - Implement Dashboard, Collection, Users index pages (base structure) - Remove hardcoded backdoors (master_recovery, dev auth bypass) - Remove hardcoded localhost:5265 URLs - Add Tabler UI base styling (Bootstrap 5 CDN + custom admin.css) - Update CLAUDE.md with new UI standards and auth policies - Build: 0 errors, 0 warnings (ready for dev testing) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
106 lines
7.2 KiB
Plaintext
106 lines
7.2 KiB
Plaintext
|
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
# Visual Studio Version 17
|
|
VisualStudioVersion = 17.0.31903.59
|
|
MinimumVisualStudioVersion = 10.0.40219.1
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuantEngine.Core", "QuantEngine.Core\QuantEngine.Core.csproj", "{F95F4420-A82D-4FC4-881C-BFAB04A5280D}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuantEngine.Application", "QuantEngine.Application\QuantEngine.Application.csproj", "{81CE989D-52D2-4375-930F-485CE6BA5006}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuantEngine.Infrastructure", "QuantEngine.Infrastructure\QuantEngine.Infrastructure.csproj", "{123C963B-C447-4253-9A4B-6A8F9048F5E0}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuantEngine.Web", "QuantEngine.Web\QuantEngine.Web.csproj", "{15F27C9D-077F-4788-9F6A-88092BEA1814}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuantEngine.Core.Tests", "QuantEngine.Core.Tests\QuantEngine.Core.Tests.csproj", "{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuantEngine.Tools", "QuantEngine.Tools\QuantEngine.Tools.csproj", "{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}"
|
|
EndProject
|
|
Global
|
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
Debug|Any CPU = Debug|Any CPU
|
|
Debug|x64 = Debug|x64
|
|
Debug|x86 = Debug|x86
|
|
Release|Any CPU = Release|Any CPU
|
|
Release|x64 = Release|x64
|
|
Release|x86 = Release|x86
|
|
EndGlobalSection
|
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Debug|x64.Build.0 = Debug|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Debug|x86.Build.0 = Debug|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Release|x64.ActiveCfg = Release|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Release|x64.Build.0 = Release|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Release|x86.ActiveCfg = Release|Any CPU
|
|
{F95F4420-A82D-4FC4-881C-BFAB04A5280D}.Release|x86.Build.0 = Release|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Debug|x64.Build.0 = Debug|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Debug|x86.Build.0 = Debug|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Release|x64.ActiveCfg = Release|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Release|x64.Build.0 = Release|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Release|x86.ActiveCfg = Release|Any CPU
|
|
{81CE989D-52D2-4375-930F-485CE6BA5006}.Release|x86.Build.0 = Release|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Debug|x64.Build.0 = Debug|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Debug|x86.Build.0 = Debug|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Release|x64.ActiveCfg = Release|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Release|x64.Build.0 = Release|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Release|x86.ActiveCfg = Release|Any CPU
|
|
{123C963B-C447-4253-9A4B-6A8F9048F5E0}.Release|x86.Build.0 = Release|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Debug|x64.Build.0 = Debug|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Debug|x86.Build.0 = Debug|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Release|x64.ActiveCfg = Release|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Release|x64.Build.0 = Release|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Release|x86.ActiveCfg = Release|Any CPU
|
|
{15F27C9D-077F-4788-9F6A-88092BEA1814}.Release|x86.Build.0 = Release|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Debug|x64.Build.0 = Debug|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Debug|x86.Build.0 = Debug|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Release|x64.ActiveCfg = Release|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Release|x64.Build.0 = Release|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Release|x86.ActiveCfg = Release|Any CPU
|
|
{92E27E2B-6DA9-4D7C-9DC7-5FBDAF4F69B9}.Release|x86.Build.0 = Release|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Debug|x64.Build.0 = Debug|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Debug|x86.Build.0 = Debug|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Release|x64.ActiveCfg = Release|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Release|x64.Build.0 = Release|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Release|x86.ActiveCfg = Release|Any CPU
|
|
{E2B1A0A1-7B13-4A4D-9B31-9C7F4F27A6A1}.Release|x86.Build.0 = Release|Any CPU
|
|
EndGlobalSection
|
|
GlobalSection(SolutionProperties) = preSolution
|
|
HideSolutionNode = FALSE
|
|
EndGlobalSection
|
|
|
|
EndGlobal
|