gpt4 book ai didi

javascript - Kentor SAML2 授权问题

转载 作者:行者123 更新时间:2023-11-30 20:51:08 24 4
gpt4 key购买 nike

好吧,首先让我说,问这些问题我真的觉得很愚蠢,因为我认为我对事情有很好的理解,但我似乎无法理解 Kentor 授权 MVC 模型的情况。例如,在 Web.config 文件中,他们指定了如下形式的身份验证:

<authentication mode="Forms">
<forms loginUrl="~/AuthServices/SignIn" />
</authentication>

但我无法在任何地方找到那个终点。然后在 HomeController.cs 文件中,它们有一个这样指定的端点:

    [Authorize]
public ActionResult Secure()
{
var identity = System.Web.HttpContext.Current.User.Identity as ClaimsIdentity;
return View(identity.Claims);
}

但是当我通过调试器运行它时,它永远不会被命中。我很抱歉提出这样的开放式问题,我知道人们已经在 Kentor 库中投入了大量时间,非常感谢。 MVC 示例是否完整,或者其中一些只是您如何做事的示例,但并未在示例项目中真正使用?

编辑:我找到了缺失的终点。作为 MVC 的新手,我没有意识到一个基本事实 --> 引用的 DLL 可以添加 Controller 端点。我认为所有的端点都必须在我的代码中。 (让鞭刑开始)。

我现在意识到,虽然我被认为是 VS 中的 MVC 项目,但我实际上是一个具有 Web API 的客户端。所以我的问题是我的项目似乎无法找到授权/登录端点。我假设这意味着我必须使用 OWIN 模型,我什至不知道 OWIN 是什么,所以这应该是一种享受。

我的下一个问题是是否可以将 MVC 模型与 Web API 一起使用?如果是这样,我如何让我的客户识别 Kentor 库中的登录端点?

编辑:所以我退后一步并使用 HTTP 模块而不是深入研究 OWIN。我知道我很生气。一个重要的事实是,如果您使用此模块并以未经授权的身份不断取回您的身份,请确保此部分位于您的 Web.config 中:

<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" name="SomeName" />
</federationConfiguration>
</system.identityModel.services>

我不记得在说明中对此有过多少说明,但对我来说,它允许填充我的 User.Identity 对象。现在我开始尝试弄清楚 userID(它仍然没有被填充但是在声明中)。希望这个帖子对以后的人有所帮助。

最佳答案

关于你的最后一个问题“是否有任何方法可以将 MVC 模型与 Web API 一起使用”,简短的回答是:否。

为了确保 Web API 的安全,您应该使用 OAuth2/OpenID Connect。因此,您需要的是一个可以向上游 SAML2 身份提供者进行身份验证的 token 颁发者。

如果您仍在使用经典的 ASP.NET,您应该看看 IdentityServer3,它可以完成所有这些工作。

关于javascript - Kentor SAML2 授权问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48169874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com