diff --git a/build/dependencies.props b/build/dependencies.props index dc32633286..e55a7f3dba 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,43 +4,44 @@ 2.1.0-preview1-15652 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 15.3.409 15.3.409 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 2.0.0 - 2.1.0-preview1-26016-05 + 2.1.0-preview1-26102-01 15.3.0 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 - 2.1.0-preview1-27928 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 + 2.1.0-preview1-28000 2.0.0 0.19.0 3.7.0 16.16299.0 3.7.0 - 4.5.0-preview1-26016-05 + 4.5.0-preview1-26102-01 0.8.0 2.3.1 2.3.1 diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj b/src/Microsoft.DotNet.Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj index bf08945e5e..b9133c5854 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj @@ -17,6 +17,7 @@ MicrosoftAspNetCoreAuthenticationCookiesPackageVersion=$(MicrosoftAspNetCoreAuthenticationCookiesPackageVersion); MicrosoftAspNetCoreAuthenticationJwtBearerPackageVersion=$(MicrosoftAspNetCoreAuthenticationJwtBearerPackageVersion); MicrosoftAspNetCoreAuthenticationOpenIdConnectPackageVersion=$(MicrosoftAspNetCoreAuthenticationOpenIdConnectPackageVersion); + MicrosoftAspNetCoreCookiePolicyPackageVersion=$(MicrosoftAspNetCoreCookiePolicyPackageVersion); MicrosoftAspNetCoreDiagnosticsEntityFrameworkCorePackageVersion=$(MicrosoftAspNetCoreDiagnosticsEntityFrameworkCorePackageVersion); MicrosoftAspNetCoreHttpsPolicyPackageVersion=$(MicrosoftAspNetCoreHttpsPolicyPackageVersion); MicrosoftAspNetCoreIdentityEntityFrameworkCorePackageVersion=$(MicrosoftAspNetCoreIdentityEntityFrameworkCorePackageVersion); diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/RazorPagesWeb-CSharp.csproj.in b/src/Microsoft.DotNet.Web.ProjectTemplates/RazorPagesWeb-CSharp.csproj.in index 1779daa81c..979955efc8 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/RazorPagesWeb-CSharp.csproj.in +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/RazorPagesWeb-CSharp.csproj.in @@ -25,6 +25,7 @@ + diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/StarterWeb-CSharp.csproj.in b/src/Microsoft.DotNet.Web.ProjectTemplates/StarterWeb-CSharp.csproj.in index af7e4b5d6b..4f518056bf 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/StarterWeb-CSharp.csproj.in +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/StarterWeb-CSharp.csproj.in @@ -25,6 +25,7 @@ + diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/StarterWeb-FSharp.fsproj.in b/src/Microsoft.DotNet.Web.ProjectTemplates/StarterWeb-FSharp.fsproj.in index 400372f406..0b7d388318 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/StarterWeb-FSharp.fsproj.in +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/StarterWeb-FSharp.fsproj.in @@ -20,6 +20,7 @@ + diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml new file mode 100644 index 0000000000..f3787bacd6 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml @@ -0,0 +1,8 @@ +@page +@model PrivacyModel +@{ + ViewData["Title"] = "Privacy Policy"; +} +

@ViewData["Title"]

+ +

Use this page to detail your site's privacy policy.

\ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml.cs b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml.cs new file mode 100644 index 0000000000..ff3db9b067 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace Company.WebApplication1.Pages +{ + public class PrivacyModel : PageModel + { + public void OnGet() + { + } + } +} \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/_CookieConsentPartial.cshtml b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/_CookieConsentPartial.cshtml new file mode 100644 index 0000000000..0360a039a8 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/_CookieConsentPartial.cshtml @@ -0,0 +1,41 @@ +@using Microsoft.AspNetCore.Http.Features + +@{ + var consentFeature = Context.Features.Get(); + var showBanner = !consentFeature?.CanTrack ?? false; + var cookieString = consentFeature?.CreateConsentCookie(); +} + +@if (showBanner) +{ + + +} \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/_Layout.cshtml b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/_Layout.cshtml index fbfdb5f76d..013f31d959 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/_Layout.cshtml +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/_Layout.cshtml @@ -42,6 +42,9 @@ + + +
@RenderBody()
diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Startup.cs b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Startup.cs index 2c9977411c..0becc0c2f2 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Startup.cs +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Startup.cs @@ -49,6 +49,12 @@ namespace Company.WebApplication1 // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { + services.Configure(options => + { + // This lambda determines whether user consent for non-essential cookies is needed for a given request. + options.CheckConsentNeeded = context => true; + }); + #if (IndividualLocalAuth) services.AddDbContext(options => #if (UseLocalDB) @@ -127,6 +133,7 @@ namespace Company.WebApplication1 app.UseHttpsRedirection(); app.UseStaticFiles(); + app.UseCookiePolicy(); #if (OrganizationalAuth || IndividualAuth) app.UseAuthentication(); diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Controllers/HomeController.cs b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Controllers/HomeController.cs index f04cdbaa55..87e88e9bd2 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Controllers/HomeController.cs +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Controllers/HomeController.cs @@ -35,6 +35,11 @@ namespace Company.WebApplication1.Controllers return View(); } + public IActionResult Privacy() + { + return View(); + } + #if (OrganizationalAuth) [AllowAnonymous] #endif diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Startup.cs b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Startup.cs index fcf944f02b..1d169663c5 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Startup.cs +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Startup.cs @@ -72,6 +72,12 @@ namespace Company.WebApplication1 .AddCookie(); #endif + services.Configure(options => + { + // This lambda determines whether user consent for non-essential cookies is needed for a given request. + options.CheckConsentNeeded = context => true; + }); + services.AddMvc(); } @@ -96,6 +102,7 @@ namespace Company.WebApplication1 app.UseHttpsRedirection(); app.UseStaticFiles(); + app.UseCookiePolicy(); #if (OrganizationalAuth || IndividualAuth) app.UseAuthentication(); diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Home/Privacy.cshtml b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Home/Privacy.cshtml new file mode 100644 index 0000000000..7bd38619c6 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Home/Privacy.cshtml @@ -0,0 +1,6 @@ +@{ + ViewData["Title"] = "Privacy Policy"; +} +

@ViewData["Title"]

+ +

Use this page to detail your site's privacy policy.

diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/_CookieConsentPartial.cshtml b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/_CookieConsentPartial.cshtml new file mode 100644 index 0000000000..bbfbb09acb --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/_CookieConsentPartial.cshtml @@ -0,0 +1,41 @@ +@using Microsoft.AspNetCore.Http.Features + +@{ + var consentFeature = Context.Features.Get(); + var showBanner = !consentFeature?.CanTrack ?? false; + var cookieString = consentFeature?.CreateConsentCookie(); +} + +@if (showBanner) +{ + + +} \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/_Layout.cshtml b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/_Layout.cshtml index 1e1b736e1e..f445c6fd02 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/_Layout.cshtml +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Views/Shared/_Layout.cshtml @@ -42,6 +42,9 @@
+ + +
@RenderBody()