【发布时间】:2011-09-25 22:36:04
【问题描述】:
我想为我的 WCF4 REST API 实施 API 密钥身份验证解决方案。
我知道我需要创建一个类并从 ServiceAuthorizationManager 派生它并覆盖 CheckAccessCore 方法。我都明白了。
但是我想从 CheckAccessCore 做的是将内部信息从 CheckAccessCore 传递到我的服务实现类。我在进行 ApiKey 身份验证时查找的“ApiKeyID、权限、标志和其他详细信息”等信息。
这样我的服务内部可以在调用域逻辑时使用内部的 ApiKeyID。
我见过很多不同的方法,比如
operationContext.ServiceSecurityContext.AuthorizationContext.Properties["Principal"] = p;
或
System.Threading.Thread.CurrentPrincipal = principal;
HttpContext.Current.User = principal;
还有其他方式……
【问题讨论】:
-
我有同样的问题,除了我使用的是 WCF 数据服务。你有没有找到一个好的答案?
标签: wcf restful-authentication api-key