好的,我真的要在这里展示我对 ASP.NET 安全模型的愚蠢,但这里就是这样。
我有一个 WCF Web 服务,并且我设法破解了通过我的自定义会员提供程序通过管道传输它的方法。
我的会员提供程序覆盖了“ValidateUser”,我在其中尝试使用我们的 SQL 服务器实例中的数据加载用户对象。到目前为止一切顺利,我检索了凭据,加载了用户对象,如果我在路上没有遇到任何颠簸,则返回 true。
此时,我通常会将用户对象(或 id)填充到会话中,或者实际上只是一些在请求的生命周期内可访问的状态包。我遇到的问题是此时 HttpContext 为空,即使我使用 ASP 兼容性属性。
我手头还有哪些其他选择?干杯,克里斯。
编辑:
只是为了澄清我想做什么。我想传递用户凭据以在服务器上进行身份验证,一旦发生这种情况,我想将经过身份验证的用户的详细信息保存在我只能在服务请求的生命周期内访问的地方。这将是 Http.Current.Items 的等价物吗?
是否有任何按请求实例化的对象,我可以通过静态属性全局访问(即以类似于 HttpContext.Current 的方式)?我假设 OperationContext 是 this,但这也是 null?
这真的是一个不常见的问题吗?在整个处理请求的过程中,发送凭据 > 检索用户 > 填充用户以供访问。对我来说似乎很常见,我错过了什么?
干杯,克里斯。