本文整理汇总了C#中IApplicationBuilder.UseForwardedHeaders方法的典型用法代码示例。如果您正苦于以下问题:C# IApplicationBuilder.UseForwardedHeaders方法的具体用法?C# IApplicationBuilder.UseForwardedHeaders怎么用?C# IApplicationBuilder.UseForwardedHeaders使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IApplicationBuilder
的用法示例。
在下文中一共展示了IApplicationBuilder.UseForwardedHeaders方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Configure
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(LogLevel.Debug);
app.UseIISPlatformHandler();
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.All
});
app.UseMvc();
}
示例2: Configure
public void Configure(IApplicationBuilder app)
{
app.UseIISPlatformHandler();
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.All
});
app.Run(context =>
{
return context.Response.WriteAsync("Hello World!");
});
}
示例3: Configure
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app)
{
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
app.UseHttpMethodOverride();
app.Run(async (context) =>
{
foreach (var header in context.Request.Headers)
{
await context.Response.WriteAsync($"{header.Key}: {header.Value}\r\n");
}
await context.Response.WriteAsync($"Method: {context.Request.Method}\r\n");
await context.Response.WriteAsync($"Scheme: {context.Request.Scheme}\r\n");
await context.Response.WriteAsync($"RemoteIP: {context.Connection.RemoteIpAddress}\r\n");
await context.Response.WriteAsync($"RemotePort: {context.Connection.RemotePort}\r\n");
});
}
示例4: Configure
/// <summary>
/// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
/// </summary>
/// <param name="app"></param>
/// <param name="env"></param>
/// <param name="loggerFactory"></param>
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddNLog();
try
{
using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>()
.CreateScope())
{
serviceScope.ServiceProvider.GetService<BddContext>()
.Database.Migrate();
serviceScope.ServiceProvider.GetService<ApplicationDbContext>()
.Database.Migrate();
serviceScope.ServiceProvider.GetService<BddContext>().EnsureSeedData();
}
}
catch { }
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
app.UseIdentity();
app.UseOAuthValidation();
app.UseOpenIddict();
app.UseGoogleAuthentication(new GoogleOptions()
{
ClientId = Configuration["GOOGLE_CLIENT_ID"],
ClientSecret = Configuration["GOOGLE_CLIENT_SECRET"]
});
app.UseFacebookAuthentication(new FacebookOptions()
{
AppId = Configuration["FACEBOOK_APP_ID"],
AppSecret = Configuration["FACEBOOK_SECRET_ID"]
});
app.UseMiddleware<WebAPILoggerMiddleware>();
app.UseMvc(routes =>
{
routes.MapRoute("journee",
template: "Journee/Index/{equipe}/{idJournee}", defaults: new { controller = "Journee", action="Index", equipe="equipe1", idJournee = 1});
routes.MapRoute("actu",
template: "Journee/Detail/{url}", defaults: new { controller = "Journee", action = "Index", equipe = "equipe1", idJournee = 1 });
routes.MapRoute(
name: "default",
template: "{controller=Actu}/{action=Index}/{id?}");
});
app.UseSwagger();
app.UseSwaggerUi();
app.AddNLogWeb();
using (var context = new ApplicationDbContext(app.ApplicationServices.GetRequiredService<DbContextOptions<ApplicationDbContext>>()))
{
context.Database.EnsureCreated();
var applications = context.Set<OpenIddictApplication>();
// Add Mvc.Client to the known applications.
if (!applications.Any())
{
// Note: when using the introspection middleware, your resource server
// MUST be registered as an OAuth2 client and have valid credentials.
//
// context.Applications.Add(new OpenIddictApplication {
// Id = "resource_server",
// DisplayName = "Main resource server",
// Secret = Crypto.HashPassword("secret_secret_secret"),
// Type = OpenIddictConstants.ClientTypes.Confidential
// });
applications.Add(new OpenIddictApplication
{
ClientId = "xamarin-auth",
ClientSecret = Crypto.HashPassword(Configuration["OPENIDDICT_CLIENT_SECRET"]),
DisplayName = "HOFC",
LogoutRedirectUri = "https://local.webhofc.fr/",
RedirectUri = "urn:ietf:wg:oauth:2.0:oob",
//.........这里部分代码省略.........
示例5: Configure
/// <summary>
/// Configures the HTTP request pipeline.
/// This method is called by the runtime.
/// </summary>
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
ApplyDatabaseMigrations(app);
app.UseTelemetry(loggerFactory, Configuration, IncludeLogEvent);
app.UseStaticFiles();
app.UseStatusCodePages();
app.UseExceptionHandler("/Error");
app.UseForwardedHeaders(GetForwardedHeadersOptions());
app.UseCookieAuthentication(GetCookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(GetOpenIdConnectOptions());
app.UseMvc();
app.UseHangfireQueueDashboard(_container);
}
示例6: Configure
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
// you can add things to this method signature and they will be injected as long as they were registered during
// ConfigureServices
public void Configure(
IApplicationBuilder app,
IHostingEnvironment env,
ILoggerFactory loggerFactory,
IOptions<cloudscribe.Core.Models.MultiTenantOptions> multiTenantOptionsAccessor,
IServiceProvider serviceProvider,
IOptions<RequestLocalizationOptions> localizationOptionsAccessor
,cloudscribe.Logging.Web.ILogRepository logRepo
)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
ConfigureLogging(loggerFactory, serviceProvider, logRepo);
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
app.UseBrowserLink();
}
var storage = Configuration["DevOptions:DbPlatform"];
switch (storage)
{
case "NoDb":
CoreNoDbStartup.InitializeDataAsync(app.ApplicationServices).Wait();
// you can use this hack to add clients and scopes into the db since
// there is currently no ui to do it
// you should not use this on the first run that actually creates the initial cloudscribe data
// you must wait until after that and then you can get the needed siteid from the database
// this will only run at startup time and only add data if no data exists for the given site.
// if you pass in an invalid siteid it will not fail, you will get data with a bad siteid
// make note of your siteid, don't use these, these are from my NoDb storage
// site1 05301194-da1d-43a8-9aa4-6c5f8959f37b
// site2 a9e2c249-90b4-4770-9e99-9702d89f73b6
// replace null with your siteid and run the app, then change it back to null since it can only be a one time task
string sId = null;
CloudscribeIdentityServerIntegrationNoDbStorage.InitializeDatabaseAsync(
app.ApplicationServices,
sId,
GetClients(),
GetScopes()
).Wait();
break;
case "ef":
default:
// this creates ensures the database is created and initial data
CoreEFStartup.InitializeDatabaseAsync(app.ApplicationServices).Wait();
// this one is only needed if using cloudscribe Logging with EF as the logging storage
LoggingEFStartup.InitializeDatabaseAsync(app.ApplicationServices).Wait();
// you can use this hack to add clients and scopes into the db since
// there is currently no ui to do it
// you should not use this on the first run that actually creates the initial cloudscribe data
// you must wait until after that and then you can get the needed siteid from the database
// this will only run at startup time and only add data if no data exists for the given site.
// if you pass in an invalid siteid it will not fail, you will get data with a bad siteid
// make note of your siteid, don't use these, these are from my db
// site1 8f54733c-3f3a-4971-bb1f-8950cea42f1a
// site2 7c111db3-e270-497a-9a12-aed436c764c6
// replace null with your siteid and run the app, then change it back to null since it can only be a one time task
string siteId = null;
CloudscribeIdentityServerIntegrationEFCoreStorage.InitializeDatabaseAsync(
app.ApplicationServices,
siteId,
GetClients(),
GetScopes()
).Wait();
break;
}
app.UseForwardedHeaders();
app.UseStaticFiles();
app.UseSession();
app.UseRequestLocalization(localizationOptionsAccessor.Value);
app.UseMultitenancy<cloudscribe.Core.Models.SiteContext>();
var multiTenantOptions = multiTenantOptionsAccessor.Value;
app.UsePerTenant<cloudscribe.Core.Models.SiteContext>((ctx, builder) =>
{
// custom 404 and error page - this preserves the status code (ie 404)
if(string.IsNullOrEmpty(ctx.Tenant.SiteFolderName))
{
builder.UseStatusCodePagesWithReExecute("/Home/Error/{0}");
//.........这里部分代码省略.........
示例7: Configure
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, ILoggerFactory factory) {
factory.AddConsole();
factory.AddDebug();
app.UseIISPlatformHandler();
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.All
});
app.UseDeveloperExceptionPage();
app.UseStaticFiles();
// Add a middleware used to validate access
// tokens and protect the API endpoints.
app.UseOAuthValidation();
// Alternatively, you can also use the introspection middleware.
// Using it is recommended if your resource server is in a
// different application/separated from the authorization server.
//
// app.UseOAuthIntrospection(options => {
// options.AutomaticAuthenticate = true;
// options.AutomaticChallenge = true;
// options.Authority = "http://localhost:54540/";
// options.Audience = "resource_server";
// options.ClientId = "resource_server";
// options.ClientSecret = "875sqd4s5d748z78z7ds1ff8zz8814ff88ed8ea4z4zzd";
// });
app.UseIdentity();
// Note: OpenIddict must be added after
// ASP.NET Identity and the external providers.
app.UseOpenIddict(options =>
{
// You can customize the default Content Security Policy (CSP) by calling UseNWebsec explicitly.
// This can be useful to allow your HTML views to reference remote scripts/images/styles.
options.UseNWebsec(directives =>
{
directives.ChildSources(directive => directive.Self())
.DefaultSources(directive => directive.Self())
.ImageSources(directive => directive.Self().CustomSources("*"))
.FontSources(directive => directive.Self().CustomSources("data:"))
.ScriptSources(directive => directive
.Self()
.UnsafeEval()
.UnsafeInline()
.CustomSources("https://my.custom.url"))
.StyleSources(directive => directive.Self().UnsafeInline().CustomSources("data:"));
});
});
// To configure external authentication please see http://go.microsoft.com/fwlink/?LinkID=532715
app.UseMvcWithDefaultRoute();
//app.UseSwaggerGen();
//app.UseSwaggerUi();
using (var context = app.ApplicationServices.GetRequiredService<ApplicationDbContext>())
{
context.Database.EnsureCreated();
// Add Mvc.Client to the known applications.
if (!context.Applications.Any())
{
// Note: when using the introspection middleware, your resource server
// MUST be registered as an OAuth2 client and have valid credentials.
//
// context.Applications.Add(new Application {
// Id = "resource_server",
// DisplayName = "Main resource server",
// Secret = "875sqd4s5d748z78z7ds1ff8zz8814ff88ed8ea4z4zzd"
// });
var hasher = new PasswordHasher<Application>();
context.Applications.Add(new Application
{
Id = "myClient",
DisplayName = "My client application",
RedirectUri = "http://localhost:53507/signin-oidc",
LogoutRedirectUri = "http://localhost:53507/",
Secret = Crypto.HashPassword("secret_secret_secret"),
Type = OpenIddictConstants.ApplicationTypes.Confidential
});
// To test this sample with Postman, use the following settings:
//
// * Authorization URL: http://localhost:54540/connect/authorize
// * Access token URL: http://localhost:54540/connect/token
// * Client ID: postman
// * Client secret: [blank] (not used with public clients)
// * Scope: openid email profile roles
// * Grant type: authorization code
// * Request access token locally: yes
context.Applications.Add(new Application
{
//.........这里部分代码省略.........