繁体   English   中英

基本 Angular SPA 与 .NET Web ZDB974238714CA8DE634A7CE1SSOD083A14FZ 连接 - 实现

[英]Basic Angular SPA connected with .NET Web API - implement SSO

我将尝试尽可能详细地描述这一点。

要使用 SPA,您需要登录,每个请求都经过 JWT 的身份验证。 登录是一个简单的表单,其中包含用户名和密码字段,它们被发送到服务器。 在服务器上,有两种类型的登录(有点) - AD 和密码(由用户类型决定):

  1. API 检查用户名是否存在并确定其类型
  2. a) 如果类型是密码:检查密码是否与数据库中的数据匹配
  3. b) 如果类型是 AD:在 LDAP 服务器上验证密码
  4. 成功登录返回生成的 JWT,用于所有进一步的请求。

此应用程序可在整个互联网上使用,而不仅仅是在与服务器相同的网络内。

我想使用 Windows 帐户进行某种“自动登录”(因此您不需要手动输入用户名/密码,但是当您打开登录页面时 SPA 会尝试自动登录)。

我为这样的事情尝试了很多指南,但似乎没有任何工作正常。

我听说 Kerberos/Auth0 应该做的工作,但我不知道如何实现它。 此外,我仍然需要获得 JWT 以获得进一步的请求。 我需要某种 Microsoft 请求吗? Azure? 还要别的吗? (如果需要,我可以使用登录控制器创建另一个 IIS 应用程序)。

我希望你明白我的意思,并能提供帮助!

大多数现代浏览器都使用SPNEGO

简单且受保护的 GSSAPI 协商机制 (SPNEGO),通常发音为“spenay-go”,是客户端-服务器软件用来协商安全技术选择的 GSSAPI“伪机制”。

碰巧它可以使用的客户端-服务器安全技术之一就是 Kerberos。 Windows 机器通常默认有 kerberos 可用。)。

因此,要真正让 .NET 使用 kerberos 身份验证,您确实需要为 IIS 启用委派,因为这就是浏览器的意思。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM