【问题标题】:asp.net webservice user management across pages跨页面的asp.net webservice用户管理
【发布时间】:2010-05-08 12:43:03
【问题描述】:

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

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

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

是否可以使用 HttpContext.Current.User.Identity.IsAuthenticated 之类的东西 其次是 HttpContext.Current.Session["UserId"] 而不使用具有基于角色的安全性的数据库?

结合本地数据库、Linq to SQL 或数据集,而不是使用 只是从服务中获取数据的类对象?

谢谢, 名古里

【问题讨论】:

    标签: asp.net web-services


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-16
        • 2018-05-11
        • 1970-01-01
        • 2020-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多