2

再会。我已经到处寻找如何做到这一点的例子,虽然我找到了关于如何实现它的各种有用信息,但整体解决方案仍然让我望而却步。

我有一个基于 Web 的 3 层应用程序(演示层是 Web 表单,业务/DAL 层是 WCF Web 服务,DB 是 Oracle),我想为其实现授权/身份验证机制。

我的想法是使用 Enterprise Library Securty 块在 WCF 服务中生成令牌(并将其缓存在那里),并将令牌 ID 发送回 Web 应用服务器。令牌 ID 将被发送回客户端浏览器(通过 cookie),然后所有后续请求返回 WCF 服务,我将在请求消息的标头中传递此令牌 ID。然后,我将使用一些 WCF 可扩展性接口通过在缓存中查找 id 来检查身份验证。我还将使用令牌缓存角色(我只是使用基于角色的简单访问),以便我可以在内存中访问用户的角色列表,并且我可以避免每次访问检查的数据库往返.

这部分对于正确的方式是否有意义?如果是这样,这是第二部分。

现在我的问题是如何从托管表示层的网络服务器管理角色访问和会话管理。我从业务层管理角色,但我还需要在表示层中访问它们,因为我还想通过 web.configs 使用基于角色的访问每个页面。我该怎么做呢?我也应该将角色传递回这一层吗?服务和 web 应用程序都必须存储此角色列表的版本,这有点令人讨厌。

任何帮助将不胜感激!

4

0 回答 0