- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
想想像 IfThisThenThat (IFTTT.com) 这样的服务。在那里,我对服务(twitter、evernote、gmail、dropbox 等)进行身份验证,并授权 IFTTT 代表我行事(大概是通过存储某种 token )。如果我不想再授权 IFTTT 冒充我,我可以随时撤销 token 。
如果我想对内部服务的 Windows 身份验证做同样的事情怎么办?
我想象用户会使用 Windows 身份验证访问网页 - 并批准创建某种 token ,我可以将其保存在数据库中。然后,当我需要在该用户的上下文中运行某些东西时(例如内部 Web 服务),我会获取 token 并运行某种模拟代码(至少在您知道密码时是微不足道的)。
哪些技术/概念是执行此操作的好方法?
最佳答案
好吧,Kerberos 用于登录到 Windows 机器,它实际上做的事情与您已经描述的非常相似。当您登录时,您会获得一张票证授予票证,然后可以使用该票证使用同一帐户登录其他服务。但是,Kerberos 票证会在很短的时间范围内过期,如果您想避免再次登录,则必须在到期前签发新的票证。您不能只将 Kerberos 票证存储在数据库中并在以后的 session 中再次使用它。它是专门为防止此类用例而设计的,因此如果票证最终被泄露,它将毫无用处。通常,超过 5 分钟的工单默认会被拒绝。以下是关于 Kerberos 的 MSDN 文档的链接,以获取有关其工作原理的更多详细信息:
MSDN: Microsoft Kerberos (Windows)
综上所述,Windows 确实已经允许系统服务模拟用户。如果您以 SYSTEM 身份或管理员身份运行,则可以调用 ZwCreateToken
为几乎所有帐户创建 token 。 This article对如何使用它进行了深入的描述(除其他外,还提供了一个示例程序)。请注意,这是一篇很长的文章,其中详细介绍了有关 Windows 登录的很多信息,而且它也有点过时了.不过,据我所知,它的原则应该仍然正确,代码应该仍然有效。
关于active-directory - 保留 Windows 身份验证权限 token ,允许以后进行模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22249668/
命令 svn status 返回如下内容: ? SomeClient\BUTCHERED.docx M SomeClient\Development notes.txt ?
我是一名优秀的程序员,十分优秀!