gpt4 book ai didi

asp.net-mvc - 动态设置 OWIN(按域)

转载 作者:行者123 更新时间:2023-12-04 07:01:24 24 4
gpt4 key购买 nike

我们正在尝试在我们使用 OWIN(包括 FB、谷歌、实时登录)的项目上设置一个白标。有没有办法动态设置他们的 API 凭证,比如说如果他们改变域,设置就会改变。

我认为 owin 比 MVC 更早加载?有没有办法可以在 Global.asax(Request) 上加载它?

public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}

更新:

换句话说,单个应用程序将托管许多域和子域(白标)。

最佳答案

我今天一直在谷歌上搜索同样的东西。然后我在 http://aspnet.codeplex.com/SourceControl/latest#Samples/Katana/BranchingPipelines/BranchingPipelines.sln 找到了一个不错的 OWIN 样本。这解释了 OWIN 的分支功能。如果我正确理解此示例,您应该能够根据请求参数(例如主机 header 、cookie、路径或使用 app.Map() 或 app.MapWhen() 方法的任何内容)配置不同的 OWIN 堆栈。

假设您有 2 个不同的 DNS 域,代表 2 个具有不同登录配置的客户,您可以根据主机 header 的值初始化 OWIN 以使用不同的配置:

public class Startup
{
public void Configuration(IAppBuilder app)
{

app.MapWhen(ctx => ctx.Request.Headers.Get("Host").Equals("customer1.cloudservice.net"), app2 =>
{
app2.UseWsFederationAuthentication(...);
});
app.MapWhen(ctx => ctx.Request.Headers.Get("Host").Equals("customer2.cloudservice.net"), app2 =>
{
app2.UseGoogleAuthentication(...);
});
}
}

关于asp.net-mvc - 动态设置 OWIN(按域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24422903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com