我如何观看一个名为 ITFoxTec 的包并弄清楚它是如何被调用的?

问题描述 投票:0回答:1

我正在使用一个非常干净且简单的 .Net SAML 包,名为 ITFoxTec

它工作得很好,但我的问题是,我不知道它是如何工作的。

当我将库添加到我的项目中时,我将以下内容添加到我的

ConfigureServices 
代码文件的
Startup.cs
部分:

services.Configure<Saml2Configuration>(Configuration.GetSection("Saml2"));
    services.Configure<Saml2Configuration>(saml2Configuration =>
    {
        var entityDescriptor = new EntityDescriptor();
        entityDescriptor.ReadIdPSsoDescriptorFromUrl(new Uri(Configuration["Saml2:IdPMetadata"]));
        if (entityDescriptor.IdPSsoDescriptor != null)
        {
            saml2Configuration.AllowedIssuer = entityDescriptor.EntityId;
            saml2Configuration.SingleSignOnDestination = entityDescriptor.IdPSsoDescriptor.SingleSignOnServices.First().Location;
        }
        else
        {
            throw new Exception("IdPSsoDescriptor not loaded from metadata.");
        }
    });

    services.AddSaml2();

然后我添加了一个在 ITFoxTec 网站上找到的

AuthController.cs
类。

效果很好,但我不知道它是如何工作的。

我在 Visual Studio 中单步调试了该项目,它以某种方式进入了

Login
路线(
[Route("Login")]
中的
AuthController

然后它会自动将我带到我在

SingleSignOnDestination
文件中为
appSettings.json
设置的 URL。

但我不知道它是如何到达那里的。

我问的原因是因为我不希望它在用户点击该网站时自动转到那里,我只希望它在用户按下登录按钮时转到那里。

有人可以帮忙吗?

谢谢!

c# .net-core saml-2.0 asp.net-core-3.1 itfoxtec-identity-saml2
1个回答
0
投票

它会自动将我带到我在 appSettings.json 文件中为 SingleSignOnDestination 设置的 URL。

但我不知道它是如何到达那里的。

我问的原因是因为我不希望它在用户点击该网站时自动转到那里,我只希望它在用户按下登录按钮时转到那里。

有不同的方法来处理这个问题,但我希望这是通过 attributes 在您的应用程序中处理的。查看您的控制器,如果控制器具有

[Authorize]
属性,它将要求用户登录才能继续。如果您想允许匿名访问某些区域,您可以从这些区域中删除
[Authorize]
属性。

© www.soinside.com 2019 - 2024. All rights reserved.