【问题标题】:How to access an internal asp.net web application from the internet?如何从 Internet 访问内部的 asp.net Web 应用程序?
【发布时间】:2010-08-06 13:56:21
【问题描述】:

我在调用 wcf 服务的内部 windows 域中有一个 asp.net Web 应用程序。在 wcf 服务中,我使用 SecurityContext.Identity.Name,所以它需要模拟。 我们的任务是可以从任何地方访问 Web 应用程序。 第一步是管理员通过 ISA server 2006 发布 Web 应用程序。此解决方案的主要问题是浏览器不会在 ISA 身份验证表单中保存用户的登录名和密码。此外,用户还希望使用 Opera Mini 从诺基亚手机访问 web 应用程序。

浏览器保存登录名/密码的简单方法是什么,以便用户可以使用应用程序,而无需每 30/60 分钟重新输入登录数据?????? 有什么最佳做法吗?

【问题讨论】:

    标签: wcf isaserver extranet


    【解决方案1】:

    标准是将用户名/密码存储在 cookie 中,并让登录页面从 cookie 中提取登录信息以自动登录。如果你愿意,你可以让这个 cookie 在一个月内过期。

    以下是一些使用不同语言添加“记住我”类型功能以将用户名和密码保存在 cookie 中的示例。

    Cookies

    php example

    asp.net example

    asp example


    对创作者的 cmets 的回应:

    要修改ISA登录页面,请看this文章。您应该能够通过编辑位于目录 C:\Program Files\Microsoft ISA Server\CookieAuthTemplates\ISA\HTML 中的登录页面文件来添加代码顶部句柄 cookie(假设您将 ISA 安装到该位置)。

    我认为没有开箱即用的配置可以让您进行设置,但我确实看到了一些用于设置信任级别的配置(文章中的#18),您可能想要使用这些配置。

    【讨论】:

    • 谢谢。但。正如我在上面所写的,浏览器不会将登录数据保存在 cookie 中,因为标准 ISA 身份验证表单不支持涉及安全方面的内容。我发现了这个:technet.microsoft.com/en-us/library/bb794733.aspx。因此可以自定义ISA的登录表单,但不建议更改任何INPUT或FORM标签。我认为在此身份验证表单中,自动完成属性设置为关闭,浏览器无法保存登录数据。允许在 DMZ 中创建一个新的简单 Web 应用程序,但是如何通过 ISA 传递登录数据?
    • 好的,当您说浏览器未保存登录信息时,我认为您的意思是自动完成功能无法正常工作。您能否发布有关如何配置 ISA 的更详细信息?我之前通过 ISA 公开了网站,他们对标准登录 cookie 没有任何问题。
    • 使用基本身份验证配置的内部 Web 应用程序。 ISA 使用基于 HTTP 表单的身份验证进行配置。选择“这是私人计算机”选项时,浏览器仅保存用户的帐户名称。任何类型的浏览器都不会保存密码。为什么?如何配置以实现密码保存。
    • 您在这个网站上使用什么语言?你在用php吗? ASP?纯html?您必须使用自己的代码或使用内置的语言来处理 cookie,但无论哪种方式,您都需要在页面上执行一些操作来处理 cookie 并将用户名和密码存储在该 cookie 中。我将编辑上述答案以包含示例。
    • 感谢您的示例。我不知道你是否理解我 :-) 我有一个 asp.net web 应用程序,在内网中有基本身份验证。它与 ISA 2006 一起发布到 Internet。用户在 ISA 表单中输入其 Windows 用户名和密码后即可使用该应用程序。我想我可以配置标准的 ISA 身份验证表单来保存密码而无需任何编码。我不想要另一个登录页面。我应该在哪里部署这个新的登录页面。我应该如何从互联网验证用户宽度他们的 Windows 用户名/密码??? ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多