gpt4 book ai didi

asp.net - 使用 OpenID 和 DotNetOpenID 在 ASP.NET 站点中对管理员进行身份验证的安全方法

转载 作者:行者123 更新时间:2023-12-02 18:22:26 25 4
gpt4 key购买 nike

在SO的鼓励下,我正在尝试编写一个使用OpenID进行用户身份验证的ASP.NET站点。这是一个常规的 WinForms 站点(不是 MVC.NET),使用 DotNetOpenId用于身份验证的库。

通过简单地将当前 session 的“ClaimedID”(在 OpenIdLogin_LoggedIn 事件中返回,作为成员 DotNetOpenId.RelyingParty、OpenIdEventArgs.Response.ClaimedIdentifier)与已知管理员的“ClaimedID”进行比较,允许/拒绝网站上的管理功能是否安全? OpenID(即我的)?

如果是这样,该 ID 可见(例如在开源代码中)是否安全,还是应该“隐藏”在配置文件或数据库行中? (我知道使其可配置是更好的设计,我的问题只是关于安全性。)

最佳答案

我的解决方案是遵循角色表的相同想法。对用户进行身份验证后,查找该用户的角色。如果用户在 UserRoles 表中具有“管理员”角色,那么他们可以执行管理员可以执行的任何操作。

我不会在我的应用程序中广播开放 ID。它们存储在表中。对于每个操作结果,我都会点击“用户”表,因为我还修改了我的表以存储各种用户状态信息。除了主页之外,我还需要从该表中获取一些用户信息。我使用的是 LINQ,因此我包含了 .LoadWith(),以便在序列化时加载用户及其角色列表。

关于asp.net - 使用 OpenID 和 DotNetOpenID 在 ASP.NET 站点中对管理员进行身份验证的安全方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56944/

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