asp.net - 如何在运行时使用 ASP.NET 的 WSFederationAuthenticationModule 选择身份提供者
问题描述
我开发了 asp.net mvc 应用程序(没有 .NET Core)。它使用带有自定义数据库的 WSFederationAuthenticationModule 实现对用户进行身份验证。现在我必须添加 Azure Active Directory 身份验证,并且在运行时我必须选择应该使用哪种身份验证方法。
我设置了以下结构:
public class LoginInterceptorModule : IHttpModule
{
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.AuthorizeRequest += OnAuthorizeRequest;
}
private void OnAuthorizeRequest(object sender, EventArgs e)
{
var httApp = (HttpApplication)sender;
if (!httApp.Request.IsAuthenticated)
{
var user = httApp.Request.LogonUserIdentity.Name;
if (IsMIgratedToAzure(user))
{
// set azure identity provider
}
else
{
// set custom identity provider
}
}
}
private bool IsMIgratedToAzure(string username)
{
// put logic
return false;
}
}
我可以从这里开始吗?如果真是这样,那么是以哪种方式?如果没有,你对我有什么建议吗?
解决方案
推荐阅读
- algorithm - 如何对两个字符串应用转换以反转字典比较的结果?
- reactjs - 在 App.js 中出现奇怪的错误“')' expected.ts(1005)”
- c# - 如何在asp.net核心的startup.cs文件的配置方法中更改范围服务的属性值
- javascript - Redux Toolkit:状态在 reducer 中显示为 Proxy / undefined
- spring-security - 后端 Spring 安全性中未处理 JWT 令牌
- in-app-purchase - Flurry 和 IAP 冲突
- reactjs - 将 React 类组件转换为函数式组件
- amazon-s3 - Ceph S3 用户和子用户权限如何协同工作?
- assembly - x86 汇编,打印 4 个字符串。奇怪的输出
- javascript - 变量没有通过 ajax 从 javascript 传递到 php