ASP.NET Core
.NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。
32 个问题
我想给别人写一套web系统,想限制他们就只能用某一个域名 xxx.com不能使用别的,自己双击打开或者在IIS中都不能绑定其他的。
这样可以实现么?
最好是能够native aot这样别人不能反编译。
你好,
我们可以考虑在ASP.NET Core的middleware里面来检查当前request的host,如果host不是设置的,就直接跳过下面的middleware从而实现只能使用一个域名。
具体实现方式如下,把custom middleware放在program.cs里面的最上方。
//....
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.Use(async (context, next) =>
{
var result = context.Request.Host.Host;
if (result =="localhost")
{
await next(context);
}
else {
await context.Response.WriteAsync("wrong domain" );
}
// Call the next delegate/middleware in the pipeline.
});
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
Result:
如果答案有帮助,请点击“接受答案”并点赞。 注意:如果您想接收此线程的相关电子邮件通知,请按照我们的文档中的步骤启用电子邮件通知。