【发布时间】:2013-11-27 12:23:53
【问题描述】:
我们正在尝试在我们的一个 asp.net mvc 4 中模拟基于联合安全性的身份验证 应用。
实际上这个web应用最终会使用联邦安全认证,但是这个认证服务还远远没有准备好,需要一段时间才能测试,但是我们需要尽快给出一个web app的demo。 所以我想我可以尝试模仿/模拟基于联合安全性的身份验证,例如当我们在 asp.net 中进行自定义成员资格/身份验证时,使用自定义主体来设置 httpcontext.current.user 对象。为联合安全寻找类似的东西。
任何方向都会很棒,有文章链接吗?只是想获得一个我可以依赖的基础,并开始自己在我的应用中模拟/模拟身份验证。
我已经尝试了很多,但我尝试的所有内容都在谈论模仿/自定义其他身份验证模式,例如表单/Windows 等,但对于与 asp.net mvc 联合,我没有得到任何相关信息,因此如果有的话,我不得不寻求指导.希望这不是一个糟糕的问题,但手指交叉... :-)
编辑: 基本上我想知道如何编写自定义声明主体(IClaimsPrincipal 接口的自定义实现)来模拟基于声明的身份验证,我可以在我的 mvc 应用程序中访问从中获得的声明数据,这在我获得真正的声明身份验证之前是必需的到位了,有什么建议吗?
谢谢...
【问题讨论】:
-
取决于你想模拟什么;如果您只想模拟“经过身份验证的用户”,您可以在验证请求事件时将用户强制设置为 Global.asax 中的 http 上下文。如果要模拟整个身份验证过程;你需要一些演示身份提供者。我在一个项目中就这样做了——因为我们的合作伙伴公司提供“真实”身份提供者端点的速度很慢,这是我自己编写的。
-
请求对问题投反对票的用户,至少发表评论来证明这一点,因为我不清楚为什么这样做?
-
@Ondrej Svejdar:是的,我现在只想模拟经过身份验证的用户,但是对于用户而言,isautheticated 设置为 true 后,不确定这是如何完成的,有什么想法吗?硬编码/设置 httpcontext.current.user 在表单和联合身份验证之间有什么不同吗?
标签: c# security asp.net-mvc-4 authentication federated-identity