Permission Checker 组件

Permission Checker 组件创建一个 PermissionChecker 对象,该对象使用 Microsoft® Internet Information Sever (IIS) 提供的口令验证协议来决定 Web 用户是否被允许读取某个文件。

可以使用 Permission Checker 组件为不同类型的用户自定义一基于 ASP 的页。例如,若 Web 页包含超级链接,则可以使用 Permission Checker 组件来检查用户是否有目标 Web 页的访问权限。若用户没有适当的权限,可以忽略或改变指向用户不能访问的页的超级链接。

语法

Set oVar = Server.CreateObject("MSWC.PermissionChecker")
 

参数

oVar
指定通过调用 Server.CreateObject 创建的 PermissionChecker 对象的名称。

注册表项

无。

方法

HasAccess 决定用户是否被允许访问一个指定的文件。

示例

下列示例使用 HasAccess 方法测试当前用户是否有访问指定文件的权限。注意,可以指定物理路径或虚拟路径。

<% Set pmck = Server.CreateObject("MSWC.PermissionChecker") %>
 
Physical Path Access = <%= pmck.HasAccess("c:\pages\abc\default.htm") %>
Virtual Path  Access = <%= pmck.HasAccess("/abc/default.htm") %>
 

注释

IIS 支持下列三类口令验证的任意组合:

当启用匿名口令验证时,所有用户初始时都在 IIS 的匿名用户帐号下登录。因为匿名用户都享有相同的帐号,当允许匿名访时 Permissions Checker 组件无法确定单个用户的身份。

对于所有用户都有单独的帐号的应用程序,比如 Intranet 站点,建议您不要使用匿名验证,这样 Permissions Checker 组件就可以确定单个用户的身份。

对于那些有些页必须供匿名用户使用而其他的页又需要保护的应用程序,如兼有 Internet 和 Intranet 的 Web 站点,可以启用匿名验证并至少启用另外一种口令验证方法(NTLM 验证或基本验证)之一。这样若您拒绝对一个指定页的匿名访问,服务器将试图通过使用 NTLM 口令验证或基本口令验证来确定用户身份。

可以通过使用下列两种方法之一来拒绝对一个指定页的匿名访问。

如果应用程序中的所有文件都必须对匿名用户可用,Permission Checker 组件将不能区分单个用户帐号。但是,您还可以使用它来保证指定的 Web 页存在并测试匿名用户帐号是否被允许访问该页。

注意 当前只有 Microsoft Internet Explorer 支持 NTLM 口令验证,且之间不能通过代理服务器连接。因此,如果用户使用的浏览器不是 Internet Explorer 或通过代理服务器连接您的站点,而您的应用程序又需要非匿名用户环境,就必须启用基本口令验证。

注意 此组件不随 IIS 一起安装。您可以从 Microsoft Web 站点:http://www.microsoft.com/iis/ 或从包含 IIS Resource Kit 的 CD 上安装。


© 1997 by Microsoft Corporation. All rights reserved.