有没有办法在 Blazor 中进行外部身份验证而不使用数据库?

2024-06-19

所以本质上我有一个 Blazor 服务器端应用程序。我正在尝试使用 Azure AD SAML 添加外部身份验证。我在用Sustainsys.Saml2.AspNetCore2用于外部身份验证的包。我不太熟悉 ASP.NET 或 Blazor 中的不同身份验证方法。

我将 Blazor 服务器端模板用于 docker Linux 容器,该容器已将身份验证设置为个人帐户,并将 Azure AD SAML 添加为外部。

这是我的Configure Services看起来像里面Startup.cs

public void ConfigureServices(IServiceCollection services)
        {
            this.LoadConfigurations();
            services.AddDataProtection();
            services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlServer(
                    Configuration.GetConnectionString("DefaultConnection")));
            services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddEntityFrameworkStores<ApplicationDbContext>();

            services.AddRazorPages();
            services.AddServerSideBlazor();
            services.AddElasticsearch(this.Configuration);
            services.AddHttpContextAccessor();
            services.AddScoped<AuthenticationStateProvider, RevalidatingIdentityAuthenticationStateProvider<IdentityUser>>();
            services.AddAuthentication()
                .AddSaml2("AAD", "Azure AD", options =>
                {
                    options.SPOptions.EntityId = new EntityId("spn:" + this.Configuration["AzureAD:EnterpriseAppId"]);
                    options.SPOptions.ReturnUrl = new Uri(this.Configuration["AzureAD:ReturnUrl"]);
                    options.IdentityProviders.Add(
                        new IdentityProvider(
                            new EntityId(this.Configuration["AzureAD:AzureADId"]), options.SPOptions)
                        {
                            LoadMetadata = true,
                            MetadataLocation = this.Configuration["AzureAD:AppMetadataUrl"]
                        }
                        );
                });
        }

这里我们使用SQLServer数据库并存储用户身份?该应用程序使用通用登录页面:

在我的用例中,我只想通过 Azure AD 对用户进行身份验证。我不希望他们创建和使用本地帐户,也不希望有任何本地数据库。我到处寻找,但找不到不使用数据库的解决方案。有人可以帮助我找到正确的方向吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在 Blazor 中进行外部身份验证而不使用数据库? 的相关文章

  • Twitter 登录说明

    我想在 Android 中创建一个 Twitter 应用程序 为此 我想创建一个登录页面并登录到 Twitter 为此 我们需要消费者密钥和消费者密钥 这是什么意思 要创建此登录页面 除了 Twitter 帐户之外 我们还需要其他任何东西吗
  • 通过PowerShell检索Azure AD应用程序的“API权限”

    出于报告和监视的目的 我想检索应用程序 应用程序注册 的 Azure 门户中显示的信息以获取 API 权限 我尝试过以下代码 app Get AzureADApplication ObjectId aa7e174d 2639 4ac7 9b
  • Microsoft Graph AD 用户或人员 API 来搜索所有用户?

    我正在尝试在我的应用程序中构建功能 供 管理员 将用户从其 AD 组分配到某些组 这些组进一步分配给应用程序特定的角色 基本上是一个简单的管理组件 将具有 oid 的用户添加到组中很容易 我面临的问题是找到实际的用户 目前 我看到的唯一选择
  • 免费 PHP 登录库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • CakePHP 身份验证插件身份关联

    我正在使用 CakePHP 3 8 并迁移到身份验证插件 https book cakephp org authentication 1 1 en index html https book cakephp org authenticati
  • 在 blazor 中添加全局使用指令

    命名空间 MyClassLibrary Models 中不存在类型或命名空间名称 XXX 是否缺少程序集引用 该错误参考此 BlazorProject MyPager azor g cs 在这种情况下我得到了这个错误 创建了一个类型的文件
  • 在 Win7 登录屏幕上运行应用程序[重复]

    这个问题在这里已经有答案了 我想通过服务在 Windows 7 的登录屏幕上运行应用程序 我对此进行了长期研究并尝试了不同的方法 但不幸的是到目前为止还没有完全成功 我设法在当前登录用户的锁定屏幕上运行该应用程序 起初我认为这就是我基本上试
  • 为 Razor 组件添加 XML 文档

    有没有办法为 Razor 组件添加 XML 文档 我注意到 Microsoft 的一些组件有 IntelliSense 中显示的文档 然而 将通常的 XML 文档添加到代码隐藏部分类似乎不起作用
  • 使用 Google Storage Transfer API 将数据从外部 GCS 传输到我的 GCS

    我正在开发一个由 ReactJs 前端和 Java SpringBoot 后端组成的 Web 应用程序 该应用程序要求用户将数据从他们自己的 Google Cloud 存储上传到我的 Google Cloud 存储 申请流程如下 前端请求用
  • Coldfusion 跨站点身份验证

    好的 在我正在开发的 Coldfusion 网站上 我刚刚安装了一个名为 Galleon 的第三方 开源 CF 论坛 我不久前问过类似的问题 但现在我们已经取得了一些进展 目前的问题是 它不会识别父站点本身存在的任何变量 会话等 论坛本身存
  • 使用 OWIN Ws-Federation 包针对 ADFS 3.0 进行身份验证

    我有一个MVC内网站点 需要使用AD帐户进行身份验证 我设置了 ADFS 3 0 Windows Server 2012 R2 并遵循this http www cloudidentity com blog 2014 02 12 use t
  • 在现实的ASP.NET网站开发中,开发人员通常是使用VS提供的一套登录控件,还是开发自己的控件? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Facebook API:无法在 Android 上登录

    我正在尝试使用 Facebook API 在 Android 上实现 Facebook 登录 我已经按照方法做了一切Facebook 登录流程 http developers facebook com docs android login
  • 跨子域的 PHP 会话

    我正在尝试设置以下内容 auth example com sub1 example com sub2 example com 如果用户访问sub1 example com or sub2 example com他们没有登录 他们被重定向到a
  • 设计路由错误

    设置设备时我似乎无法克服此错误 Routing Error wrong constant name Devise registrationsController or Routing Error wrong constant name De
  • 如何在 PHP 中正确启动会话?

    我最近正在学习有关如何为我的网站制作自定义 CMS 的教程 我目前正在制作后端 以便用户可以创建和编辑页面 该教程有点旧 因此各种功能已被弃用 我能够修复大多数问题 除了 session register 功能 我在很多网站上看到 包括这个
  • Blazor EditForm 从列表绑定

    我正在尝试制作一个页面来编辑客户数据 客户对象有一个电话号码 字符串 列表 因为大多数人都有固定电话和手机 我似乎找不到一种方法将其放入编辑表单中 我尝试使用 foreach 循环 但它无法绑定到此 我还尝试在循环中使用本地副本并绑定到它
  • blazor 如何检测授权/未授权

    我正在定制AuthenticationStateProvider在 Blazor 应用程序中进行测试 我担心新类不会具有与 AuthenticationStateProvider 类相同的功能 因为我不确定 AuthenticationSt
  • 在 Windows 应用程序中保存用户凭据

    是否有在 NET Windows 应用程序中存储凭据的最佳实践方法 无论是内置 API 还是只是推荐的加密算法 与 Tortoise SVN Spotify 和 Skype 一样 Edit 我的目的是使用一个从其身份验证服务返回令牌的 We
  • 如何避免按后退按钮/键返回登录布局?

    我想为我的研究所创建一个应用程序 问题是 我的应用程序将有两种布局 登录和仪表板 学生可以正确填写登录表单 进入仪表板 按下按钮以及填写其他字段 但是 如果用户随后按下后退按钮 则不应返回到登录屏幕 而应保留在仪表板中 或者如果失败 则退出

随机推荐

  • 在 Laravel 中将自定义/新类文件放在哪里?

    我有关于如何使用 Yelp Fusion API 的 PHP 示例 它用OAuth php file https github com Yelp yelp api blob master v2 php lib OAuth php有几个班级
  • 有选择地设置 iskeyword

    通常我需要搜索大型 xml 模式文件以查找光标下单词的下一个出现位置 但如果它是一个标签或结束标签 则最好不要搜索 在下面的示例中 是光标所在的位置 使用 or 与 iskeyword 不包括 gt or lt 将在之间移动
  • 数据库表设计

    我在选择数据库表的变量类型时遇到问题 有人可以给我一些关于如何选择类型的一般准则吗 以下是我的一些问题 用户 ID 应该是什么 INT 看起来很小 因为设计时应该考虑到大量用户 那么如果不是 INT 还有什么呢 大整数 VARCHAR 难道
  • 如何以一种形式发布两个或多个模型?

    我正在为一个项目开发互联网课程计划应用程序 该课程计划是根据以下模型构建的 使用数据库优先方法中的实体框架生成 public partial class Subject public int Id get set public string
  • 如何防止 this.debug is not a function 导致编译器退出

    参考这里提出的问题this debug 不是 Angular 通用函数 https stackoverflow com questions 65966642 this debug is not a function angular univ
  • 屏蔽字符串

    我需要将收到的字符串放入以下格式 在打字稿 javascript中 Eg 12 34 56 789 我知道有string mask以及通过 JQuery 的某种方式 有没有更简单的方法来做到这一点 您可以用所需的数据替换每个模式部分 fun
  • 如何迭代所有注册表项?

    我正在尝试迭代所有注册表项以查找 包含 并删除 jre1 5 0 14 值 有办法做到吗 下面的代码只是在特定键下找到jre1 5 0 14 我确实想迭代所有的键 顺便说一句 if 子句获取是否等于 jre1 5 0 14 但如果它包含 j
  • 如何将数据从 Parse.com 迁移到 Firebase

    我有两个当前正在使用 Parse com 的生产应用程序 我没有计划使用 Parse 服务器 我想切换到 firebase 服务 我想知道是否有办法将我的数据库从 Parse com 迁移到 Firebase Parse 和 Firebas
  • 保留字符串中的所有反斜杠

    我有一个包含反斜杠的字符串 time 4 4 key c major d 4 当我尝试将其传递到 nodejs child process 或只是将其传递到 console log 时 反斜杠被删除 console log time 4 4
  • 是否存在可处理 PRC/.mobi 文件的 PHP 库?

    我正在写一个WordPress 插件 http github com chrisclarke eBook Export Plugin for WordPress以大多数主要电子书格式从选定类别创建电子书 我想支持 MobiPocket 因为
  • Labview按钮按下一次后冻结

    我正在尝试编写一些程序来从 Labview ULx 库读取电压并将电压添加到数组中 我尝试使用事件结构来执行此操作 同时将布尔按钮的机械操作设置为 按下时锁定 然而 按下时锁定 选项似乎不起作用 程序读取电压并将其正确添加到阵列中 然后冻结
  • maven 编译失败,因为我有一个非 maven jar

    我有几个内部库 我还没有 不知道如何添加到我的本地 Maven 存储库中 我已将它们添加到项目的类路径中 但我的 maven compile 失败 指出它无法在外部 jar 中找到类 如预期 ERROR Failed to execute
  • 覆盖 Web 浏览器控件上的 window.location

    这似乎是一个奇怪的问题 但是有没有办法覆盖 window location 而不使浏览器控件导航到它 我遇到的问题是我在控件中注入 html 代码 而 window location 是 about blank 导致某些 javascrip
  • PHP 中给定日期的下一个工作日

    有人有一个 PHP 代码片段来计算给定日期的下一个工作日吗 例如 需要如何转换 YYYY MM DD 才能找到下一个工作日 例子 对于 03 04 2011 DD MM YYYY 下一个工作日是 04 04 2011 对于 2011 年 4
  • ResNet34 在 Keras.application 中可用吗?

    我想包装一个 keras ResNet34 模型 但似乎只有 ResNet50 可以从 keras applications 导入 有没有一种方法可以直接导入 ResNet34 而不用构建 ResNet34 我在网上找到了以下代码 但我想知
  • 加密数据库字段的好方法?

    我被要求加密数据库中的各种数据库字段 问题是这些字段在读取后需要解密 我在用着Django and SQL Server 2005 有什么好主意吗 See 在 SQL Server 2005 数据库中使用对称加密 https web arc
  • 如何将光标样式更改为悬停在图表点上的指针?

    我正在使用 Chart js v 2 库 当用户将鼠标悬停在图表点上时 我试图将光标样式更改为 指针 我将把它与条形图 饼图 折线图一起使用 看来charts js v 2 中应该支持这个选项 但我在任何地方都找不到例子 编辑 我没有提到我
  • 如何在自定义组件中使用 Vue.js 插件?

    我需要输出一个表格及其内容 可以通过 Ajax 进行更新 所以我打算使用vue tables 2 https github com matfish2 vue tables 2 https github com matfish2 vue ta
  • Qt - 如何使用 QNetworkAccessmanager 获取响应文本

    这是我的代码 Widget Widget manager new QNetworkAccessManager this connect manager SIGNAL finished QNetworkReply this SLOT repl
  • 有没有办法在 Blazor 中进行外部身份验证而不使用数据库?

    所以本质上我有一个 Blazor 服务器端应用程序 我正在尝试使用 Azure AD SAML 添加外部身份验证 我在用Sustainsys Saml2 AspNetCore2用于外部身份验证的包 我不太熟悉 ASP NET 或 Blazo