我需要在现有WCF服务上创建自定义身份验证/授权,该服务应该是按方法:某些方法应强制用户登录,而其他方法应允许匿名使用。该服务以单身实现。
为此,我想做以下事情:
Dictionary<>
周围的包装中保留成功的登录artefact,并将当前会话ID用作密钥; logout()
方法,关闭会话并从字典中删除人工制品; Dictionary<SessionId, WeakReference<OperationContext.Current>>
删除会话,但未调用logout()
方法。每次添加新会话时都会执行监视器。但有两个问题:
答案 0 :(得分:1)
几天前我遇到了类似的问题,我找到了一个解决方案。
你可以检查一下你是否想要; WCF service and adding custom Identity claims
答案 1 :(得分:0)
对于自定义授权,您应使用Custom Authorization Manager。您应该使用ASP.net管理会话,如果启用AspNet兼容性,则可以访问该会话。