我正在为我们的应用SAML2 SSO使用https://github.com/Sustainsys/Saml2库。我想稍后在应用程序上将AuthMode设置为活动,这背后的原因并非我们所有的客户都使用SAML2,因此如果客户访问了他们的域,他们应该被重定向到他们的Idp登录页面。
但是,此AuthMode属性仅在Startup.Auth.cs
中可用,我无法在应用程序中的某处访问它。
顺便说一下,我正在使用Owin。
无论如何我能做到吗?
是的,这是可能的。保持对Saml2AuthenticationOptions的引用(例如静态属性/字段),然后在运行时更改它。它会立即生效。
但是,你可能不想走那条路。您已经将cookie中间件视为活动状态,并且Owin管道仅针对一个活动中间件设计,而不是多个。
因此,将CookieAuthenticationHandler中的LoginPath
设置为控制器/操作,该控制器/操作只返回带有Saml2身份验证方法的ChallengeResponse
作为质询方案。 (如果您创建新的应用程序,ChallengeResponse将包含在asp.net标识样板代码中)。