0

我有一个在开发时应该对 Internet 开放的应用程序。该应用程序有自己的授权(表格)。

我们不能限制通过 IP 地址范围访问服务器。我们还需要站点的行为类似于没有全局访问检查(此环境中的 QA 测试应用程序)的情况。

在IIS上如何安排访问?

用户步骤:

  1. 访问 site.com
  2. 用户看到一个弹出窗口(全局用户名;全局密码 - 所有用户都相同)
  3. 重定向到站点(作为匿名用户)
  4. 转到登录页面并输入本地用户名和密码(特定于当前用户)

我将不胜感激任何建议

谢谢

4

1 回答 1

0
  1. 创建过滤器(从 ActionFilterAttribute 继承)
  2. 覆盖 OnActionExecuting 方法(检查自定义 cookie)。如果自定义身份验证 cookie 不存在:

    filterContext.HttpContext.Response.Clear(); filterContext.HttpContext.Response.StatusDescription = "未授权"; filterContext.HttpContext.Response.AddHeader("WWW-Authenticate", "Basic realm=\"Secure Area\""); filterContext.HttpContext.Response.Write("401,请认证"); filterContext.HttpContext.Response.StatusCode = 401; filterContext.Result = new EmptyResult(); filterContext.HttpContext.Response.End(); base.OnActionExecuting(filterContext);

  3. 在 Application_Start() 中的 Global.asax 中注册过滤器

于 2014-10-25T15:13:36.050 回答