ASP.NET Core предлагает общую регулирование защиты данных (GDPR) из коробки с функцией согласия cookie: https://learn.microsoft.com/en- us/aspnet/core/security/gdpr? View = aspnetCore-7.0
program.cs
builder.Services.Configure(options =>
{
// This lambda determines whether user consent for non-essential
// cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
builder.Services.AddHttpContextAccessor();
app.UseCookiePolicy();
< /code>
Приложение Blazor Server может использовать почти один и тот же код и заставить его работать: < /p>
consentcookie.razor написан />>>>>@using Microsoft.AspNetCore.Http.Features
@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor Http
@inject IJSRuntime JSRuntime
@if (showBanner)
{
Consent to set cookies.
Accept Cookie
}
@code {
ITrackingConsentFeature consentFeature;
bool showBanner;
string cookieString;
protected override void OnInitialized()
{
consentFeature = Http.HttpContext.Features.Get();
showBanner = !consentFeature?.CanTrack ?? false;
cookieString = consentFeature?.CreateConsentCookie();
}
private void AcceptMessage()
{
// JsInterop call to store the consent cookies.
JSRuntime.InvokeVoidAsync("CookieFunction.acceptMessage", cookieString);
}
}
< /code>
_host.cshtml
window.CookieFunction = {
acceptMessage: function (cookieString) {
document.cookie = cookieString;
}
};
< /code>
mainlayout.razor
@Body
https://www.syncfusion.com/faq/blazor/t ... -in-blazor
Однако, поскольку приложения Blazor Webassembly (WASM) запускают клиентскую сторону. Функции httpcontext < /code> не работают. Как я могу добавить согласие cookie для Blazor Webassembly (wasm) без использования какой -либо сторонней библиотеки, такой как Majorsoft.blazor.components.gdprconsent ? org/packages/majorsoft.blazor.components.gdprconsent/ https://github.com/dotnet/aspnetcore.do ... 8881316391 https://www.reddit.com /r/blazor/comments/vfx8h4/blazor_wasm_gdpr_and_cookie_consent/
Я не хочу использовать Blazored LocalStorage для доступа //github.com/blazored/localstorage
ASP.NET Core предлагает общую регулирование защиты данных (GDPR) из коробки с функцией согласия cookie: https://learn.microsoft.com/en- us/aspnet/core/security/gdpr? View = aspnetCore-7.0 program.cs [code]builder.Services.Configure(options => { // This lambda determines whether user consent for non-essential // cookies is needed for a given request. options.CheckConsentNeeded = context => true;
app.UseCookiePolicy(); < /code> Приложение Blazor Server может использовать почти один и тот же код и заставить его работать: < /p> consentcookie.razor написан />>>>>@using Microsoft.AspNetCore.Http.Features @using Microsoft.AspNetCore.Http
[/code] https://www.syncfusion.com/faq/blazor/tips-and-tricks/how-do-i-set-consent-cookies-in-blazor Однако, поскольку приложения Blazor Webassembly (WASM) запускают клиентскую сторону. Функции httpcontext < /code> не работают. Как я могу добавить согласие cookie для Blazor Webassembly (wasm) без использования какой -либо сторонней библиотеки, такой как Majorsoft.blazor.components.gdprconsent ? org/packages/majorsoft.blazor.components.gdprconsent/ https://github.com/dotnet/aspnetcore.docs/issues/18055#issuecomment-8881316391 https://www.reddit.com /r/blazor/comments/vfx8h4/blazor_wasm_gdpr_and_cookie_consent/ Я не хочу использовать Blazored LocalStorage для доступа //github.com/blazored/localstorage