我正在 IIS7 中设置基本身份验证,并遇到了域下的术语 Realm。有人可以向我解释一下 Realm 是什么意思吗?我以前从未在这种情况下遇到过它,谢谢。
答案1
领域名称用于设置该目录和子目录的 HTTP 基本身份验证领域的名称。服务器在每次请求时都会将其呈现给浏览器,并且浏览器会根据站点名称和领域名称的组合知道要将哪个存储的密码发送到服务器。如果没有此机制,就无法要求网站的不同“区域”使用不同的密码,因为除了站点名称之外没有其他区分标准。
假设,如果您希望网站的不同区域需要单独的公开 HTTP 登录(例如“/control-panel”虚拟目录和“/logs”虚拟目录),则可以将每个目录设置为使用不同的领域名称。
用户可以登录访问“/control-panel/...” URL,然后可以访问与“/control-panel”目录具有相同域名的目录中的所有 URL。当用户尝试访问“/logs/...” URL 时,浏览器会提示他们进行另一次身份验证,因为域名和站点名称与保存的密码不对应(因为“/logs”的域名与“/control-panel”不同)。
因为 IIS 总是将基本身份验证后端到 Windows 域中,所以不可否认的是,此功能在 IIS 上几乎无用。作为一个有用应用程序的示例,假设“/logs”上的 NTFS 权限允许非特权用户访问(带身份验证),但“/control-panel”仅允许管理员级别的访问。通过为这些目录设置不同的领域名称,您可以允许单个浏览器会话用户对同一台服务器进行“两次”身份验证,根据尝试访问的领域向 IIS 提供不同的凭据。
在其他 Web 服务器上,您可以为不同的领域指定完全不同的身份验证源(一个领域为 .htpassword,另一个领域为 LDAP),以便对一个资源的访问可能在一个后端而不是另一个后端进行身份验证。