asp.net webservice跨页面的用户管理

时间:2010-05-08 12:43:03

标签: asp.net web-services

我正在开发一个显示机密只读信息的网站, 使用从WCF服务获取的数据。

我的问题: 跨不同信息页面的用户管理的最佳方法是什么。

安全登录后,服务会返回包含客户信息的集合。 我的想法是拥有一个存储在会话中的Customer对象类。

是否可以使用HttpContext.Current.User.Identity.IsAuthenticated之类的东西 之后是HttpContext.Current.Session [“UserId”]而没有使用基于角色的安全性的数据库?

使用本地数据库,Linq到SQL或数据集而不是使用它会更好 只是从服务中获取数据的类对象?

感谢, nakori

2 个答案:

答案 0 :(得分:0)

您不需要本地数据库 - 但最佳做法是让用户进行身份验证。这两个选项是通过数据库和/或通过AD,如果这是一个内部网站。

您也可以创建一个新的WCF服务来执行身份验证,因为您已经将数据库功能分开了。这也可以让您访问非本地数据库。

答案 1 :(得分:0)

如果您不需要在应用程序中跟踪用户的身份,只需按照您的指示使用会话。

但是HttpContext.Current.User.Identity.IsAuthenticated等依赖于以某种方式对您的网站进行身份验证的用户(或者它总是会返回为假)。使用网站进行身份验证不一定需要数据库。您可以直接在web.config,xml文件中设置用户,也可以使用AD或其他不使用传统数据库的身份验证机制。

但除非您需要对用户进行身份验证,否则您可以使用服务器的会话对象和/或cookie执行您想要的操作。