如何在多个环境中为Web应用程序配置Active Directory(ADFS)登录?

问题描述 投票:0回答:1

我有一个使用ADFS进行登录的ASP.NET MVC Web应用程序。以下是Startup.Auth.cs的摘录:

private static readonly string realm = ConfigurationManager.AppSettings["ida:Wtrealm"];
private static readonly string adfsMetadata = ConfigurationManager.AppSettings["ida:ADFSMetadata"];
public void ConfigureAuth(IAppBuilder app)
{
    app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
    app.UseCookieAuthentication(new CookieAuthenticationOptions());

    app.UseWsFederationAuthentication(
        new WsFederationAuthenticationOptions
        {
            Wtrealm = Startup.realm,
            MetadataAddress = Startup.adfsMetadata,         
        });
}

我对ADFS的了解有些限制,但据我所知,ADFS服务器使用上面传递的Wtrealm值来识别我的应用程序。

但是,Web应用程序存在于多个环境中:Dev,QA和PROD。同一组人需要访问DEV和QA环境,所以理想情况下,我想在这些环境中使用相同的ADFS设置。

这可能/推荐吗?如果是这样,最好的方法是什么(我不确定其中任何一种是否可行)

  • 而不是让Wtrealm成为一个URL(与特定环境中的应用程序绑定),它可以是一个唯一的字符串标记,用于标识应用程序,在哪里?当在DEV或QA环境中时,应用程序将传递此特定值。
  • 或者,可以设置ADFS,以便对于单个Web应用程序,它可以识别多个Wtrealm值吗?我们在DEV和QA中的Web应用程序可以传递其特定于环境的URL,我们的IT部门只需要在ADFS服务器中设置一次。
asp.net-mvc single-sign-on adfs
1个回答
0
投票

wtrealm只是一个字符串 - 而不是URL - 与ADFS RP中的标识符匹配。

所以有三个wtrealm和三个RP。

https://appdev.co.nz

https://apptest.co.nz

等等

© www.soinside.com 2019 - 2024. All rights reserved.