我们已经构建了一个具有各种功能的WCF Rest服务,允许我们从数据库访问数据,但出于明显的安全原因,我们希望限制对这些功能的访问,但它不必太复杂。
简而言之,这就是我的想法:
访问我们服务的第一步是调用某种用户名和密码的登录功能。
在对我们的数据库(或其他)进行身份验证时,它会生成某种令牌,即GUID会将其存储在服务器上的会话或cookie中。
每当调用另一个函数时,都需要传递此令牌,然后根据会话中的令牌或服务器上的cookie验证该令牌,而不必再次验证我们的数据库。
如果它通过,则函数的其余部分将执行,否则将返回错误并且需要再次调用登录函数。
问题:
现在上面的内容太简单了吗?
您是否可以使用wcf rest服务进行会话,因为我们可能不是asp.net网站或其他网站?这只能在IIS或https下运行。
我最好在服务器上使用某种类型的cookie而不是会话,但这些会过期吗?
传递令牌时,我可以将其作为json对象的一部分传递,还是应该将其作为某种自定义标头传递?
很抱歉,如果我的建议或问题听起来很荒谬或相当简单,但我对网络身份验证一无所知,但我正在阅读的所有内容对于我想要达到的目标来说似乎很复杂。正如我所说,它不必过于复杂。我只想限制用户使用此Web服务,如果他们未获得授权或未获得许可。
你可以将我重定向到样品吗?任何帮助或建议将不胜感激。
我希望在向客户发布之前实现这一点。
感谢。
亨利
更新
这篇文章实际上对我正在努力实现的目标有一个很好的直观表达: