Blazor Webassembly (WASM) Приложение cookieC#

Место общения программистов C#
Ответить
Anonymous
 Blazor Webassembly (WASM) Приложение cookie

Сообщение Anonymous »

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

Подробнее здесь: https://stackoverflow.com/questions/755 ... sent-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»