我需要将我的应用程序业务逻辑放入 WCF 服务中。该服务不应该依赖于 ASP.NET,并且存在大量有关经过身份验证的用户的数据,这些数据在业务逻辑中经常使用,因此应该对其进行缓存(可能使用分布式缓存)。至于身份验证 - 我将使用两级身份验证:
- 前端 - 表单例份验证后端
- (WCF 服务)- 消息用户名身份验证。
对于这两种身份验证,应该使用相同的自定义成员资格提供程序。 为了缓存经过身份验证的用户数据,我将实现两个服务方法:
1) 身份验证 - 将检索所需的数据并将其放入缓存中(其中用户名将用作 key )
2) SignOut - 将从缓存中删除数据
问题 1. 以这种方式(在两个地方)执行身份验证是否正确?
问题 2. 这种缓存策略是否值得使用,或者我应该考虑使用 aspnet 兼容服务和 asp.net session ?
也许,这些问题太笼统了。但是,无论如何我想得到任何建议或推荐。
任何想法
最佳答案
问题 1:
根据我的经验,ASP 表单例份验证就足够了。没有理由以 POST 方式发送凭证,当然也不能以 GET 方式发送凭证。您可以使用它来更改密码或帐户信息方法。您可能想研究一下成员资格和角色。
问题2:
我会坚持使用 ASP.NET session 。这最终可能会使您的应用程序更容易出现问题和漏洞,我认为这是不必要的。
关于asp.net、wcf 身份验证和缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9708475/