【问题标题】:C# MVC Identity - Authenticating a "Kiosk User"C# MVC 身份 - 验证“Kiosk 用户”
【发布时间】:2017-03-28 07:47:00
【问题描述】:

我有一个使用 Identity 的 C# MVC 应用程序。我正在尝试寻找一种解决方案来验证 Kiosk 用户:

  • 普通用户使用他们的凭据登录;无论是本地、FB、Google 等,通过他们的家用电脑、手机或其他方式
  • 但是,特定计算机需要始终登录 - 即使在 Web 服务器/应用程序重新启动、信息亭计算机重新启动等之后(嗯,至少在服务器/信息亭计算机恢复并且信息亭计算机返回到应用程序之后)网站,计算机需要再次以该信息亭用户身份登录)

我最简单的想法是创建一个不允许退出的用户角色 Kiosk;但是这并不能解决登录问题,除非我通过一个疯狂的长期过期 cookie “记住”信息亭用户。

它也不一定会阻止任何人简单地删除 cookie(虽然我可以忍受,但自助服务终端计算机处于受监控的环境中)。

无法通过 IP 识别。

我正在寻找有关如何实现这一目标的想法。我可以在该计算机上安装哪些软件、证书或其他东西,以便我检查它是否是我的应用程序中的那个?

感谢您提出的任何建议。

【问题讨论】:

  • 如果客户端是“Kiosk用户”,让应用程序自己调用服务器建立连接。
  • -v... 很遗憾,我不太明白您的意思。假设 Kiosk 计算机关闭一周,我怎么知道“客户端是 Kiosk 用户”?这就是问题所在……
  • 信息亭的用户是GuestUnauthenticated User。我认为最简单的方法可能是将任何未经身份验证的用户视为您的信息亭用户。
  • 理论上这是正确的,但是该应用程序是公开可用的,所以这对我来说不是最好的主意...它具有让 Kiosk 用户决定要做什么的业务规则显示和位置。

标签: c# asp.net-mvc asp.net-mvc-5 asp.net-identity


【解决方案1】:

这通常是通过您所描述的持久性 cookie 来完成的,对于 Web 应用程序。您可以将登录 cookie 过期设置为某个长期日期,例如 1 年、5 年或任何有意义的日期。您可以根据用户所属的角色、用户名或其他标识符来执行此操作。我以前做过这个,我通常会添加一个新选项来隐藏注销按钮/菜单选项。

其他选项是:

  • 使用 IIS 的基于客户端证书的身份验证
  • 如果机器是 AD 成员,则进行窗口身份验证。
  • 特定于自助服务终端的特殊 URL,可通过链接/书签/按钮/其他方式登录用户(这可能只是绕过密码登录的长期 cookie 选项的变体)

【讨论】:

  • 谢谢,我想我当时没有忽略任何其他可能性。我将进一步评估证书和持久性 cookie。
猜你喜欢
  • 2012-08-24
  • 2013-08-29
  • 1970-01-01
  • 2016-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
相关资源
最近更新 更多