【问题标题】:Identity Server Site Origin身份服务器站点来源
【发布时间】:2021-09-25 09:52:33
【问题描述】:

我已经使用 asp.net core mvc 站点实现了身份服务器。 除了一个例外,一切都很好。 我的企业想在登录屏幕上添加一条欢迎消息,该消息会根据用户登录的位置而变化。 例如,如果用户来自“https://dev.website.com”,则应在登录页面上显示“欢迎开发者”消息。来自“https://test.website.com”将导致显示“欢迎测试员”消息。 问题是,我如何确定请求的来源?我不知何故需要识别用户正在从“https://dev.XXX”或“https://text.XXX”登录,但我不知道如何。

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: c# asp.net-core identityserver4


    【解决方案1】:

    您收到的 http 请求包含两个带有您想要的地址的标头。尝试检查“Origin”和/或“Referer”标题。

    string referer = Request.Headers["Referer"].ToString();
    

    【讨论】:

    • 如果可能的话,我希望有一个替代解决方案。据我所知,这些标头值是由浏览器设置的,您不能保证它们总是会被填充?
    • 为什么不创建自己的新标头并将其添加到请求中。如果它只是消息上的名称,则没有问题。只是不要相信它会授予对任何东西的访问权限,因为它可以被伪造。我也会向企业提出疑问,如果这个标题可以添加到用户个人资料中,因为将这个标题与人联系起来似乎比与系统联系起来更优雅。
    • 哦,为了避免注入攻击,不要在屏幕上复制原始标题(或参数)。一定要创建一个有效标题的列表(白名单),并且只有在列表中时才会在屏幕上显示它们。
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 2017-09-14
    • 1970-01-01
    • 2013-08-28
    • 2020-11-17
    相关资源
    最近更新 更多