我启动了WCF Data Services 5.6 / EF6和WPF应用程序。用户启动应用程序并显示登录屏幕,在该屏幕中输入他的用户名和用户名。密码。此信息保存在数据库中,用于验证其权限,用户组等(特定于应用程序,与SetEntitySetAccessRule无关)。
现在,当我在实体上执行CRUD操作时,服务需要检查用户是否有权执行该操作。
所以我的问题是:在每次操作之前如何查询用户详细信息?是否应该在服务器上保留用户的实例? (多个用户可以连接到该服务)
答案 0 :(得分:0)
解决方案是使用添加到每个调用的自定义消息头(在初始登录后创建令牌,然后在每次后续调用时发送该令牌 - 令牌需要某种时间货币和一些额外属性这样可以高度自信地确定其来源以避免欺骗)。以下文章描述了您在用户身份验证的上下文中要执行的操作:
http://www.codeproject.com/Articles/352678/Add-Custom-Message-Header-in-WCF-4-Calls
答案 1 :(得分:0)
WCF Instancing可以是一种可以选择实例化模式为“PerSession”的方法。这将使会话保持活跃状态。