CN1592230A - 受控资源的授权管理 - Google Patents

受控资源的授权管理 Download PDF

Info

Publication number
CN1592230A
CN1592230A CNA2004100589718A CN200410058971A CN1592230A CN 1592230 A CN1592230 A CN 1592230A CN A2004100589718 A CNA2004100589718 A CN A2004100589718A CN 200410058971 A CN200410058971 A CN 200410058971A CN 1592230 A CN1592230 A CN 1592230A
Authority
CN
China
Prior art keywords
user
resource
server
group
name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100589718A
Other languages
English (en)
Other versions
CN1592230B (zh
Inventor
C·戈斯曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1592230A publication Critical patent/CN1592230A/zh
Application granted granted Critical
Publication of CN1592230B publication Critical patent/CN1592230B/zh
Anticipated expiration legal-status Critical
Active legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

描述了在分布式计算机环境中授权访问受控资源的***和方法。在一个方面,服务器控制一组资源。该服务器从用户接收一个请求,以执行一个与受控资源之一有关的操作。响应于接收该请求,服务器确定用户是否已被授权执行该操作。授权不取决于用户是不是与服务器的任何资源相关联的管理员组的成员。

Description

受控资源的授权管理
(1)技术领域
本发明由网络服务提供者管理受控的资源。
(2)背景技术
管理网站可以很费时和费钱,特别是对于管理大型因特网服务提供者(ISP)安装的实体。为了节省时间和金钱,许多ISP靠牺牲个人网站来支持大型公司网站。原因之一是因为计算机安全不光是对事务及其它组织,对个人也变得越来越重要了。为了满足这种安全需求,必须为每一个管理情况,选择和执行计算机和网站安全策略。这种选择和努力使支持个人网站变得相当费力、费时且费钱。
(3)发明内容
描述了在分布式计算机环境中授权访问受控资源的***和方法。在一个方面,服务器控制一组资源。服务器从用户接收一个请求以执行有关受控资源之一的操作。响应于接收该请求,服务器确定用户是否已经被授权执行该操作。授权不取决于用户是不是与服务器的任何资源相关联的管理员组中的一员。
(4)附图说明
在附图中,组件参考号最左边的数字属性组件第一次出现的特定的图。
图1示出用于可实施受控资源的授权管理的***和方法的示例计算机环境。
图2示出图1的***存储器的进一步的示例方面,包括:用于授权受控资源的管理的应用程序和程序数据。
图3示出用于受控资源的授权管理的示例过程。
(5)具体实施方式
对授权和实施网站的远程管理的可靠的、可升级的、可管理的和安全的***和方法进行描述。特别是,因特网服务提供者(ISP)计算机服务器管理员利用以下所述的因特网信息服务(IIS)授权管理(DA)框架来向授权的用户授权用于执行的特定的网站管理任务。这种授权的用户可包括,例如:拥有受控于ISP的个人网站的用户。
用户授权是视特定的基于角色的访问许可(许可执行特定的与受控网站相关联的应用操作)而定的。本IIS SA框架避免了包括计算机安全在内的现有的趋势,其中由于上述的时间和成本的低效率,个人网站得不到支持。原因之一是因为每次修改或测试受控个人网站时,都不需要管理员干预(即,为确保计算机安全和授权的访问)。这种修改可包括,例如:网站上新的应用程序的布署之类的网站内容/功能的改变等等。
现在对用于授权的网站管理的***和方法的这些和其它方面进行进步详细的描述。
示例操作环境
见附图,其中相同的参考号表示相同的要素,示出的本发明是在一个合适的计算机环境中实施的。尽管没有要求,但本发明将在计算机可执行指令的总的上下文中描述,例如由个人电脑执行的程序模块。程序模块通常包含例程、程序、对象、部件、数据结构等等。
图1示出本发明可以实施以下将描述的用于授权受控资源的管理的***、装置和方法的适合的计算机环境120的例子。该示例的计算机环境120仅仅是适合的计算机环境的一个例子而非对这里所述的***和方法的使用范围或功能的任何限定。不能将计算机环境120解释成依赖或要求示例性环境120中所示部件中的任一个或其组合。
可以用众多其它的通用或专用计算机***环境或配置操作这里所述的方法和***。熟知的可能合适的计算机***、环境、和/或配置的例子包括但不限于:小型因素(例如:手提式的、移动的等等)计算装置(例如:移动电话、个人数字助理-PDA,等等)、多处理器***、以微处理器为基础的或可编程的消费电子设备、网络PC机、小型机算机、大型机等等。本发明还可用于分布式的计算机环境,其中任务是由通过通信网络连接的远程处理装置执行的。在分布式计算机环境中,程序模块可以定位于本地和远程的存储器装置二者之中。
如图1所示,计算机环境120包括以计算机130的形式出现的通用计算装置。计算机130的组件可包含一个或多个处理器或处理单元132、***存储器134和将包含***存储器134的多种***要素连接到处理器132的***总线136。***总线136代表一种或几种总线结构,包括:存储器总线或存储器控制器、***总线、加速图形端口和使用多种总线结构中任一种的处理器或本地总线。作为示例而非限定,这些结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、改进的工业标准结构(EISA)总线、视频电子设备标准协会(VESA)本地总线和周边部件互连接口(PCI)总线也称夹层总线。
计算机130通常包含多种计算机可读媒体。这种媒体可以是可以由计算机130访问的任何媒体,且包含易失性和非易失性媒体、可换及不可换媒体。计算机存储器134包含以易失性存储器形式的计算机可读媒体,例如:随机存取存储器(RAM)138,和/或非易失性存储器,例如:只读存储器(ROM)140。基本输入/输出***(BIOS)142包含,例如在启动期间,帮助在计算机130的部件之间传送信息的基本程序,它被存储在ROM140中。RAM138通常包括可以由处理器132立即访问和/或正在被处理器132操作的数据和/或程序模块。
计算机130还可包括其它可移除/不可移除,易失性/非易失性计算机存储器媒体。例如:硬盘驱动器144可用于从不可移除、非易失性磁媒体中读取或写入不可移除、非易失性磁媒体(未示出),磁盘驱动器146可用于从可移除、非易失性磁盘148(例如:“软盘”)中读取或写入可移除、非易失性磁盘148,光盘驱动器150可用于从可移除、非易失性光盘152(例如:CD-ROM/R/RW,DVD-ROM/R/RW/+R/RAM)或其它光媒体中读取或写入可移除、非易失性光盘152或其它光媒体。硬盘驱动器144、磁盘驱动器146和光盘驱动器150各自都通过一个或多个接口154与总线136相连。
驱动器和相关联的计算机可读媒体提供计算机可读指令、数据结构、程序模块及用于计算机130的其它数据的非易失性存储器。尽管这里所述的示例环境使用了硬盘、可移除磁盘148及可移除光盘152,那些在本领域的技术人员能理解可存储可由计算机访问的数据的其它种类的计算机可读媒体,例如:磁盘、闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等,也可以用于本示例的操作环境。
可以将一定数量的程序模块存储在硬盘、磁盘148、光盘152、ROM140、或RAM138上,所述模块包括,例如:操作***158、一个或多个应用程序160、其它模块162和程序数据164。
一个诸如:ISP网站管理员的用户可通过诸如:键盘166,定点装置168(例如:“鼠标”)之类的输入装置将命令和信息提供给计算机130。其它输入装置(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、串行端口、扫描仪、数字照相机等等。这些和其它输入装置通过连接到总线136的用户输入接口170连接到处理单元132,也可通过其它接口及总线结构(例如:平行端口、游戏端口或通用串行总线(USB))连接。
监视器172或其它类型的显示装置也通过诸如视频适配器174之类的接口与总线136连接。监视器可用于,例如:通过定义如下所述的应用访问策略和规则将与所述***和方法相关联的用户界面(UI)呈现给授权网站管理。除了监视器172之外,个人电脑通常包括其它***输出设备(未示出),例如:可以通过输出***接口175连接的扬声器和打印机。
可以利用到一个或多个诸如远程计算机182之类的远程计算机的逻辑连接,在联网的环境中操作计算机130。远程计算机182可包括许多或全部在这里参照计算机130描述的部件和特征。逻辑连接包括,例如:局域网(LAN)177和普通广域网(WAN)179。这种网络环境在办公室、企业范围计算机网络、企业内联网和因特网中很常见。
当用于LAN网络环境中时,计算机130通过网络接口或适配器186连接到LAN177。当用于WAN网络环境中时,计算机通常包括调制解调器178或其它用于通过WAN179建立通信的装置。调制解调器178(可以是内置式的或外接式的)可以通过用户输入界面170或其它合适的机构连接到***总线136。
图1所示的是一个通过因特网的WAN的特定实施。这里,计算机130使用调制解调器178,通过因特网180与至少一个远程计算机182建立通信。在联网的环境中,描绘的与计算机130相关的程序模块,或其一部分,可以存储在远程存储器装置中。因此,例如:如图1所示,应用程序189可驻留在远程计算机182的存储器装置上。所示的和所描绘的网络连接是示例性的。因此,可使用其它在计算机装置之间建立通信链接的装置。
示例应用程序和数据
图2为示出图1的***存储器的更多示例方面的方框图,包括:用于授权受控资源的管理的应用程序160和程序数据164。在本实施例中,应用程序160包括,例如:示例授权模块202、授权模块204、远程客户网站管理(RCWA)模块206(即,“请求应用程序”)、执行模块208和授权处理210。为了讨论的目的,这些应用程序连同选择的图1的***100的其它特征以下常被称为“因特网信息服务(IIS)授权的管理(DA)框架”,或“框架”。
授权管理程序202为IIS元数据库(metabase)节点(即,IIS元数据库212的节点)的受控资源的授权管理提供安全支持。IIS元数据库212为由图1的计算机130控制、布署和/或管理的应用程序、资源或对象。更具体地,元数据库是用于配置IIS的配置信息和方案的分级存储器。在现有的***中,只有是管理员组的成员的用户才能察看和修改由元数据库节点代表的资源。与这些传统的***相反,现在描述的IIS DA框架使诸如网站拥有者之类的管理员组成员之外的用户能察看和/或修改IIS元数据库212的特定部分。尽管用户也可以属于管理员组,为了在此说明的目的,“用户”指没有分配到管理组的个人。
因此,授权管理程序模块202通过与授权管理(DA)模块204的有选择的互动,使管理实体(例如:管理员组的成员)能指定(例如:通过在图1的显示装置172上显示的UI指定)用户对IIS元数据库的节点的访问的许可。授权管理程序模块202将这些用户访问许可(即,策略/规则)写入授权策略存储器214。在一个实施例中,以扩展标记语言(XML)、活动目录、软件查询语言(SQL)或其它数据格式表示这些访问许可。
应用程序在运行期间查询APS214(通过应用管理程序202揭示的API的216),以确定客户已被授权在资源上执行一个请求的操作。授权管理程序为管理员提供用于管理授权策略和验证访问控制的API和用户界面,这样他们就能管理授权策略存储器了。
应用程序定义
由授权策略存储器(APS)214指定的应用程序是授权策略存储器214的顶层节点。应用程序指定应用程序能执行的操作或任务,并在APS214中公布它们(例如:在安装应用程序时)。应用程序的说明包括按照执行一项工作(例如:在组织中)所需的任务和操作而标识了应用程序特定角色的管理员。角色、任务、操作(方法)和范围存储在APS214中。角色是授权或资源配置角色(例如:在某些资源组方面的组织的许可)。授权角色是基于用户的工作函数。资源配置角色是根据计算机的函数。
任务是一组低层操作。任务的目的是确定哪些低层操作做某个对管理员有意义的工作的单元。任务的一个例子可以是改变密码(Change Password)。任务还可包括其它任务。例如:称作管理用户帐户(Manage User Accounts)的任务可包括改变密码(Change Password)任务、重新设置密码(ResetPassword)任务、废除帐户(Disable Account)任务等等。
一个操作是资源管理程序用来标识安全过程的低层许可。可以用几个操作来执行一个有意义的任务(操作对管理员来说通常是不揭示的或没有意义的)。操作的例子可以是WriteAttributes或ReadAttributes。一个范围是一个或多个与各自的授权策略相关联的物理或逻辑资源(例如:文件夹和/或文件)的集合。应用程序能用范围来组合资源,以将用户请求的资源映射到一个范围(例如:当应用程序检查用户访问时)等等。
在此实施例中,授权管理程序202对每个特定的组员允许零(0)或更多组和相应的角色的指定。一个组对应于一个用户的角色,且应用程序管理员通过批准用于对象(例如:应用程序、资源等)的ACL中的组许可指定角色所需的许可。表1示出APS214的示例应用程序定义,在此实施例中,是以XML数据格式表示。
                    表1
            示例的应用程序说明
<AzAdminManager MajorVersion=″1″MinorVersion=″0″>
  <AzApplication Guid=″d9089f17-5fa6-4ae9-bddf-8ca6cd1c06fb″
                 Name=″SiteAdminApp″>
  <AzApplicationGroup Guid=″bf9d00f0-2be3-4367-a931-680038b51d0a″
                      Name=″GroupMetabaseChangeDefaultDoc″>
       <Member>S-1-5-21-3131233723-616130271-937215924-
  1032</Member>
    </AzApplicationGroup>
  </AzApplication>
</AzAdminManager>
每个应用程序包括多个属性,例如:实质上的全局唯一标识符(“GUID”,例如:d9089fl7-5fab-4ae9-bddf-8ca6cd1c06fb),名字(例如:SiteAdminApp),等等。应用程序属性是用来,例如:标识在授权策略存储器214中指定的应用程序中的特定个体。在表1的一个例子中,应用程序包括一个组(例如:见标签对“AzApplicationGroup”),以指定分配了有关应用程序的一个或多个“角色”的一个或多个用户。角色是一组分配给用户的许可,以使用户能执行一组任务。每个应用程序组包括一个GUID属性(例如:值bf9d00f0-2be3-4367-a931-680038b51d0a)和一个名字属性(例如:GroupMetabaseChangeDefaultDoc)。这一示例组示出由SID:S-1-5-21-3131233723-616130271-937215924-1032标识的单个成员。为了本例子,假设这是与一个用户(“Userl”)相关联的SID。
在本实施例中,将一个角色用于一组相关联的对象,然后将一组用户分配给该角色。
定义范围和角色
表1的应用程序包括一个具有一个范围的应用程序组(尽管可以定义任意个这种组)。一个范围是一个或多个与各自的授权策略相关联的物理或逻辑资源(例如:文件夹和/或文件)的集合。应用程序能用范围来组合资源,以将用户请求的资源映射到一个范围(例如:当应用程序检查用户访问时)等等。以下为定义范围的示例语构:<AzScope Guid=″ce010982-6b6f-4e93-804e-d04bflddff78″Name=″Site Access for″Userl″″/>。每个范围都有能用应用程序编程接口(API)用来访问范围的一个唯一的标识符(例如:ce010982-6b6f-4e93-804e-d04bflddff78)和一个名字(例如:用于“Userl”的Site Access)。为了讨论,所示的范围有一个“w3svc/1”的元数据库站点ID。
在一个实施例中,通过指定一个或多个在范围层上(即,在一个范围内部)的角色,将授权管理程序模块202作为安全策略存储器使用。例如:可以指定一个特定的角色改变到各自的站点的安全访问;可以生成另一个角色来指示一个例如:在站点下方的新的节点(例如:“WebDirs”)。所示的范围内部的示例角色是表示用于改变站点的缺省文档列表:″<AzRoleGuid=″3ac117fd-7f12-4287-a7ff-982770d6ce49″Name=″ChangeDefaultDoc″/>″。角色有一个在建立时间时分配的唯一的标识符(例如:3ac117fd-7f12-4287-a7ff-982770d6ce49)和一个名字,例如:ChangeDefaultDoc(可指定该名字,以使它是有意义的)。表2示出在一个范围内部定义的角色:
                            表2
            在一个范围内部定义的角色的例子
<AzScope Guid=″ce010982-6b6f-4e93-804e-d04bflddff78″Name=″Site Access
for″Userl″″>
    <AzRole Guid=″3ac117fd-7f12-4287-a7ff-982770d6ce49″
            Name=″ChangeDefaultDoc″>
    </AzRole>
</AzScope>
当指定了至少一个(1)有关具有到角色所属的范围的访问的应用程序组的任务时,定义一个角色。任务是一个或多个为管理员执行某个工作单元的低层操作。例如:任务可以是改变密码(Change Password)。任务还可包括一个或多个其它任务。例如:称作管理用户帐户(Manage User Accounts)的任务可包括改变密码(Change Password)任务、重新设置密码(ResetPassword)任务、废除帐户(Disable Account)任务等等。表3示出一个示例角色定义。
                        表3
                    示例的角色定义
<AzRole Guid=″3ac117fd-7f12-4287-a7ff-982770d6ce49″
        Name=″ChangeDefaultDoc″>
        <AppMemberLink>bf9d00f0-2be3-4367-a93-680038b51d0a
        </AppMemberLink>
        <TaskLink>195d1ae4-3f63-4263-be00-76cb7c515b8a</TaskLink>
</AzRole>
表3中所示的角色包括一个根据它的唯一的标识符引用应用程序组的AppMemberLink属性,在此例中为bf9d00f0-2be3-4367-a931-680038b51d0a。表4示出具有相关角色的范围。
                    表4
            示例的带有角色的范围
<AzScope Guid=″ce010982-6b6f-4e93-804e-d04bflddff78″Name=″Site
      Access for″Userl″″>
    <AzRole Guid=″3ac117fd-7f12-4287-a7ff-982770d6ce49″
            Name=″ChangeSecuritySettings″>
          <AppMemberLink>bf9d00f0-2be3-4367-a931-680038b51d0a
          </AppMemberLink>
          <TaskLink>195d1ae4-3f63-4263-be00-76cb7c515b8a</TaskLink>
    </AzRole>
</AzScope>
定义任务和事务规则
一个角色可以定义一个或多个任务。一个任务由一个或多个许可用户执行的低层“操作”,及事务规则组成。一个操作是标识与任务相关联的安全级别的低层许可。几个操作可包含一个有意义的任务。操作的例子包括写属性(″WriteAttributes″)和读属性(″ReadAttributes″)。表5的以下例子表示了一个允许用户改变网站的属性(例如:″DefaultDoc″属性)的任务。该任务包括两个操作:一个用来设置该特性的值,一个用来取得该特性的值。
                    表5
            一个示例性的任务
<AzOperation Guid=″f6844d4e-c0d7-4d17-a9fa-da6fc328a1a5″
Name=″SetDefaultDoc″>
  <OperationID>1</OperationID>
</AzOperation>
<AzOperation Guid=″234534-g0f8-5k82-k9df-fd5cv546g5b0″
Name=″GetDefaultDoc″>
  <OperationID>2</OperationID>
</AzOperation>
在表5的例子中,分配给操作一个唯一的标识符和一个名字,就象先前的属性的定义一样。操作的最重要的特征之一是OperationId属性。一个任务可以通过Operat ionID引用一个或多个操作。表6示出如何定义一个示例的任务。
                        表6
                示例性的任务定义
<AzTask Guid=″195d1ae4-3f63-4263-be00-76cb7c515b8a″
Name=″DefaultDocSettings″>
        <BizRuleLanguage>JScript</BizRuleLanguage>
          <BizRule>
                var param=AZBizRuleContext.GetParameter(″DefaultDoc″);
                if(param!==″index.htm″)
                        AZBizRuleContext.BizRuleResult=false;
                else
                        AZBizRuleContext.BizRuleResult=true;
    </BizRule>
        <OperationLink>f6844d4e-c0d7-4d17-a9fa-
da6fc328a1a5</OperationLink>
        <OperationLink>234534-g0f8-5k82-k9df-
fd5cv546g5b0</OperationLink>
</AzTask>
表6的例子示出由一个任务引用的两个操作。这是为了示出怎样才能定义一个策略文件。可能有一个引用多个操作的任务。然而,在一个实施例中,为了确保IIS授权管理框架按预期进行工作,在用工具使用的策略文件中任务仅引用一个操作。在这样的实施中,当一个操作被在一个角色内部的任务引用时,该操作不是由在同一角色内部的一个不同任务引用的。然而,注意该操作可以由在另一角色内部的任务引用。有关授权策略存储器的示例语法的更多信息,请见以下的表11。
一个任务被定义了一个或多个由它们的唯一ID和事务规则或BizRule定义的操作(例如:在表6中定义的两个操作)。事务规则也称作用诸如Jscript或VBScript语言之类的脚本语言写的授权脚本。在本实施例中,当调用接AccessCheck API时,将脚本接入到运行的任务对象来证明用户能完成给定的方法。在此实施例中,AccessCheck API是由操作***158(图1)的一个已知的专用对象安全(POS)API实施的。该POS API查看在一个标记中的用户组成员,并将它们与访问控制列表中的内容相比较,以确定用户是否有请求的访问。脚本可使用只有在运行期间才可用的信息,例如:″时刻″或″请求的美元数量″,以制定一个授权方案。
在表6的例子中,Jscript事务规则对用户可尝试执行的行为施加了限制。假定用户试图用OperationID=1执行一个操作,作为任务的一部分。该脚本可以使用户已传送给方法的DefaultDoc参数的值无效。在此例子中,脚本不允许用户对不同于″index.htm″的字符串设定这一特性的值。AzBizRuleContext是BizRule脚本访问过的一个对象。它的BizRuleResult特性被用于确定用户是否被允许执行该操作。
授权用户受控资源的访问
为了和授权管理程序202相一致,授权管理(DA)模块204在与授权管理程序202连接时,使用一组输入值和另一组为用于操作的参数的值,该操作为用户想通过一个请求应用程序(例如:远程客户网站管理应用程序208)执行的有关受控资源(例如:网站)的操作。例如:在前面表6的例子中,对于SetDefaultDoc操作,DA204将范围名、操作名或方法名和在上述BizRule中引用的DefaultDoc参数的值都用作输入。
DA204使用配置文件218确定哪个授权策略存储器214包括该输入范围,并将输入操作或方法名映射到OperationID。在本实施例中,配置文件218是一个指定/定义每个分配到给定组用户的方法,并将该方法映射到授权策略存储器214中的相应操作标识符(ID)的XML文件。配置文件218还包括方法参数、范围映射、日志文件数据格式和命令行模板。当映射范围名时,DA204从配置文件218得到该范围所在的授权策略存储器214的路径和定义范围的授权策略存储器中的应用程序名。
在DA204解析用于本信息的配置文件之后,DA204用所述存储器路径初始化授权管理程序202,打开想要的应用程序,并取得将用于调用确定用户是否有对请求的功能/资源的访问的客户上下文对象。
示例的配置文件格式
IIS授权管理框架使用一个类型“String(字符串)”的登记输入来将全称路径存储到配置文件218(例如:HKLM\Software\IISDelAdmin\DelegAdminMappingPath(REG_AZ))。该字符串存储在登记220中。表7示出示例的配置文件218
                      表7
           一个示例性授权管理配置文件
<?xml version=″1.0″encoding=″utf-8″?>
<IISDelegatedAdminMappings>
  <IISDAMethods>
        <IISDAMethod PublicName=″″AZStoreID=″″ExePath=″″CmdLine=″″
WaitTimeout=″″
            ProcessType=″″Separator=″″Description=″″/>
        <Parameter Name=″″MetabaseProperty=″″Description=″″/>
        <Interface Name=″″Flag=″″ProgID=″″/>
      </IISDAMethod>
    <IISDAMethods>
    <IISDAScopes>
          <IISDAScope PublicName=″″AZName=″″MetabaseNode=″″
AZStorePath=″″
                AZApplicationName=″″GenerateAudits=″″AuditName=″
″/>
  </IISDAScopes>
  <IISDALogPath=″″>
       <Field Name=″″/>
  </IISDALog>
  <IISDACmdLineKeys>
    <IISDACmdLineKey Name=″″Attribute=″″Node=″″/>
</IISDACmdLineKeys>
</IISDelegatedAdminMappings>
在本示例的实施例中,配置文件218包括以下输入:为每个将考虑到用户用的方法的输入;为每个范围的输入,用于在包括了配置文件218中对现有方法的任务引用的存储器中。每个范围输入对应于一个具有一个在授权策略存储器中的范围的用户。另外,输入定义想要的和/或缺省日志文件的数据格式。
方法和参数语法
表8示出用于定义在配置文件218的IISDAMethod节点内部的方法的示例模板:
                            表8
                        示例性任务定义
<IISDAMethod PublicName=″″AZStoreID=″″ExePath=″″CmdLine=″″
WaitTimeout=″″
                ProcessType=″″Separator=″″Description=″″/>
            <Parameter Name=″″MetabaseProperty=″″Description=″″/>
            <Interface Name=″″Flag=″″ProgID=″″/>
</IISDAMethod>
在此实施例中,使用了除Description(说明)之外的所有属性。如果一个属性从将被ExecuteMethod使用的一个节点定义中遗漏,该方法会返回一个错误。(ExecuteMethod是由DA模块204揭示的APi222,以执行由用户请求的操作-如果经授权的话)。
方法语法使用以下属性:
·PublicName-将揭示给用户的方法名,它是将被工具确认为输入的名字(由DA模块204揭示的,通过API222访问的动态链接库对象(例如:COM)的ExecuteMethod方法的参数)。
·ExePath-定义到可执行或命令行脚本的路径,它将被用于执行由用户或被指定通过它的方法之一执行操作的COM对象的ProgID请求的方法。
·AZStoreID-定义在授权策略存储器中与本方法相应的OperationID。
·CmdLine-如果ExePath指定COM对象的ProgID,定义将建立用于可执行模块的命令行的方式,或该方法的名字。对于一个可执行模块,在本属性中,可指定一个关键字、一个属性名/值(方法、参数和范围属性)及一个参数索引。有关定义CmdLine值的更多信息,请见以下的CmdLine字段格式。
·WaitTimeout-向DA204指示在调用CreateProcess API之后及退出和记录结果之前需要等待几秒钟。在成功调用CreateProcess之后,工具调用WaitForSingleObject(ProcessHandle,超时)来等待过程结束。如果操作与COM方法相关联,则不使用这一属性。
·ProcessType-指定用于执行该方法的过程的类型。本属性的有效值是“COM”(指定COM方法将执行该方法)和“CMD”(指定可执行命令行将执行该方法)。
·Separator-帮助使可执行模块的输出变得更加粒状。对于特殊的字符(例如:″\r″和″\n″),该字段包括字符的换码的版本(例如:″%0D″和″%0A″)。工具一直读取Separator字段的值,然后还原它,这样就可以指定由工具将这些特殊的字符识别成分隔符号。例如:假定结果将是包含一组用于站点的被否定的IP地址的字符串,并且该结果是一个包括所有这些由″CRLF″(″\r\n″序列)分隔的地址。如果在IISDAMethod节点中定义了Separator=″%0D%0A″,函数返回一个字符串阵列(每个字符串对应于一个来自结果字符串的IP地址),而不是OutputArray函数返回具有IP地址的整个字符串。
·Description-添加一个方法的说明,它可用于将方法揭示给用户的应用程序。例如:当用户在页面上的方法名上移动鼠标时,它被样例ASP.NET应用程序Admin用于显示方法的说明。
参数的语法
每个方法都能定义零(0)或更多参数。以下的模板示出参数是如何定义的:
<Parameter Name=″″MetabaseProperty=″″Description″″/>
如果定义一个参数XML标签,使用除了Description(说明)之外的所有的属性。如果一个属性从将被ExecuteMethod使用的一个节点定义中遗漏,该方法会返回一个错误。
方法(Method)参数语法使用以下属性:
·Name-工具将它作为参数发送到AccessCheck函数。在引用对应于定义参数的方法的操作ID的任务的BizRule中使用同样的名字。
·MetabaseProperty-如果执行模块将请求一个特定的元数据库特性作为它的命令行(例如:″adsutil.exe get w3svc/1/AnonymousUserName″)的一部分,则可以使用它。在此例子中,参数有属性MetabasePropery=″AnonymousUserName″,且″w3svc/1″是在范围内定义的MetabaseNode。有关定义范围的更多信息,请见以下的范围语法(Scope Syntax)。
·Description-将说明与参数相关联。例如:一个揭示参数所属的方法的应用程序可使用本字段来显示施加在该参数值上的限制。
接口语法
可以指定要用于通过使用接口节点执行引用操作的任务的内部的BizRule的接口。以下的例子示出接口节点的语法:<Interface Name=″″Flag=″″ProgID=″″/>。接口节点是可选择的,并在COM对象用于引用方法的任务的事务规则时使用。如果定义了接口节点,则使用了所有的属性。如果一个属性从将被ExecuteMethod使用的一个节点定义中遗漏,该方法会返回一个错误。
接口语法使用以下属性:
·Name-当对象将被用于事务规则时,标识该对象的名字。
·Flag-指定将被用于在BizRule脚本中建立对象的标记。
·ProgID-指定COM对象的独立版本ProgID。在本节点中的相应Name(名字)实际上是本对象的一个例子。BizRule仅通过提供的名字使用该对象。
每个属性对应于与接口相关的由AccessCheck使用的参数。
范围语法
以下模板输入定义一个范围:
<IISDAScope PublicName=″″AZName=″″MetabaseNode=″″AZStorePath=″″AZApplicationName=″″GenerateAudits=″″AuditName=″″/>。使用了所有的属性。如果一个属性从将被ExecuteMethod使用的一个节点定义中遗漏,该方法会返回一个错误。
范围语法使用以下属性:
·PublicName-在建立范围时提供给用户的名字,而且该名字由用户提供,用来标识改变是在元数据库212的什么层上进行的(因为用户能有多于一个分配的站点,例如)。
·AZName-在授权策略存储器文件中与本范围相应的范围名。该MetabaseNode定义实际上是用户访问的元数据库节点的实际范围。
·AZStorePath-本范围所在的授权策略存储器的路径。该属性为授权策略存储器指定DA模块204将在哪里搜索本范围。
·AZApplicationName-指定定义本范围的存储器中的应用程序。
·GenerateAudits-指定对访问本范围的尝试是否生成审计。
·AuditName-指定用于在审计中标识被访问的对象的关键字符串(在本实施例中,它确认本特定范围被访问了)。
日志文件语法
配置文件218也通过以下模板定义用于日志文件224的格式:
<IISDALog Path=″″>
      <Field Name=″″/>
      <Field Name=″″/>
</IISDALog>
日志文件224语法使用以下属性:
·Path-定义存储器日志文件的路径。这个属性被使用。如果它没有被呈现的话,工具返回一个错误。本属性值指向一个有效的可访问的文件夹;否则,本实施例的工具不记录任何东西,而会生成一个例外。当第一次建立日志文件时,应用程序使用从上层文件夹(由路径属性的值标识的)继承的安全设置,意思是COM+应用程序(见其它模块210)有对本文件夹的读/写访问权。
·Field-使用相关联的Name属性,标识在日志文件中的每个字段。有关字段的更多信息,请见以下的日志文件字段。
该ExecuteMethod的结果是用逗号分隔值的日志格式记录(ExecuteMethod是由DA模块204揭示的APi222,以执行由用户请求的操作(如经授权的话)。该由ExecuteMethod实施的操作或任务如执行模块208中所示)。在本实施例中,如果日志部分没有被呈现在配置文件218中,DA202不记录任何东西并扔出一个例外。
日志文件字段
日志文件可有任意数量的字段,每个字段都由字段子节点的Name(名字)属性标识。日志文件包括以下前六个缺省的字段:
该请求(调用ExecuteMethod)的日期和时间(Date字段)。
用户名(User字段;例如:如果在.aspx页内调用ExecuteMethod,则将记录批准访问.aspx页的用户名)。
由调用者提供的方法名(Method字段)。
由调用者提供的范围名(Scope字段)。
一个与方法相应的ExePath属性(ProcessType属性,它是在配置文件属性中的定义的方法属性)的值。
一个与方法相应的CmdLine属性的值(CmdLine字段)。
授权管理204还在最后两个位置记录ExecuteMethod函数208和例外信息(Exception字段)的结果(Result字段)。该例外信息提供有关例外上下文(即,在其中是该例外发生执行的方法的步骤)和由工具捕捉到的例外码的细节。
CmdLine字段格式
第六个字段,CmdLine使用一个特殊的记载。在具有ProcessType=″COM,″的IISDAMethod节点的情况下,记录在本字段的值是如同在CmdLine属性中的配置文件218中定义的那样。在具有ProcessType=″CMD,″的IISDAMethod节点的情况下,记录在本字段的值或者是如同在CmdLine属性中该配置文件218中定义的一样或者(当字符串引用IISDACmdLineKey时)是可执行模块的全部命令行的值,如果在返回之前,ExecuteMethod实际上建立用于模块的命令行。这将在日志文件中提供更多的信息,以帮助想出尽可能多的请求要素来简化解决问题的过程。
如没有定义字段节点,则DA模块204记录,例如:上述的八(8)个字段,且IISDALog节点仅用于取得日志文件路径。通常,字段名是以“Param1,”“Param1,”等形式,因为除了上述缺省记录的字段之外,这些是可能有用的其它字段。
在这一实施例中,在上述前六个字段后记录″Param″字段。如果参数值的列表包括比在IISDALog节点中的字段/节点的实际数量多的要素,则不记录所有的参数值。然而,如果有比在IISDALog节点中的字段节点数更少的用于方法的参数值,则在日志输入中余下的字段值由一个空格(″″)组成。
命令行参数格式
在配置文件218中,可定义一个用于将执行的方法的命令行参数的格式(即,在ProcessType属性为“CMD”时,如何翻译IISDAMethod的CmdLine属性的值)。以下模板示出一个命令行参数的格式:
<IISDACmdLineKeys>
     <IISDACmdLineKey Name=″″AttributeName=″″Node=″″/>
     </IISDACmdLineKeys>
/IISDACmdLineKeys具有以下属性:
·Name-作为关键字用在命令行中。
·AttributeName-说明在IISDAMethod,IISDAScope,或参数节点内的配置文件内的关键字引用的属性名。这个属性使我们能说明或是属性名本身,或是它引用的属性值。
·Node-标识属性名的所在位置的节点。该节点属性可具有下列值之一:″IISDAMethod″,″IISDAScope″,″Parameter″。
命令行模板使授权管理202能支持用于方法的命令行定义内部的标记(IISDAMethod节点的CmdLine属性)。这些标记包括,例如:表9中示出的标记。
                        表9
                示例性命令行模板标记
标记 说明
关键字 指定为是。因此,如果CmdLine属性包括一个“get”字符串,例如,该字符串将被用于为模块建立命令行。
#D# 指定参数值使用以下格式:#D#。(D标识一个数字)在两个#字符之间出现的数字指定参数索引。工具用传递给方法的索引″D″参数替换序列#D#。例如,如果有两个参数值被传递给一个方法,如果CmdLine包括#1#,ExecuteMethod用第一个数值替换序列#1#。在这个实施例中,例如,如果CmdLine属性包括#3#,ExecuteMethod返回一个错误,因为仅传递了两个参数。
$KEY$ 指定一属性名。(KEY是用Name属性在IISDACmdLineKeys节点中定义的一个值)。对于#KEY#和#KEYS#标记,KEY(在
ISDACmdLineKeys节点的Name属性中指定的)可以是以下节点内部的属性名:IISDAMethod,IISDAScope,和Parameter。如上所述,确切的位置是在IISDACmdLineKeys节点的Node属性中指定的。该方法查看KEY值,核查IISDACmdLineKeys节点内是否有IISDACmdLineKey节点,并且还核查是否有对应于节点标识的节点由AttributeName标识的属性。如果有节点和属性存在,则该方法用名($KEY$)或该属性的值(#KEY#)来代替该标记。
#KEY# 指定一属性值。对于#KEY#和$KEY$标记,KEY(在ISDACmdLineKeys节点的Name属性中指定的)可以是以下节点内部的属性名:IISDAMethod,IISDAScope,和Parameter。如上所述,确切的位置是在IISDACmdLineKeys节点的Node属性中指定的。该方法查看KEY值,核查IISDACmdLineKeys节点内是否有IISDACmdLineKey节点,并且还核查是否有对应于节点标识的节点由AttributeName标识的属性。如果有节点和属性,则方法用名($KEY$)或该属性的值(#KEY#)来代替该标记。
#KEY@D# 如果命令行利用某个确定参数的属性值,使用#KEY@D#标记。此标记的释义为“由KEY指定的用于索相D的参数的属性值”。
在本实施例中,因为使用#和$建立命令行,如果有二个这些字符(象#string#或$string$)的序列,该工具将尝试找到具有与″string″相等的Name属性的IISDACmdLineKey节点,在这个意义上这些字符是受限制的。这是一个能修改成设计结构隐含的植入相关特征。
定义命令行参数的技术使人能在模块命令行中指定诸如%SYSTEMROOT%之类的环境变量。当建立一个IISDACmdLineKey节点时,使用了所有的属性。否则,ExecuteMethod将在试图解析节点时失败。有关定义IISDACmdLineKey节点如何在运行期间翻译它们的更多的信息,请见CmdLine和IISDACmdLineKeys Examples(示例)。
由授权管理模块揭示的示例的方法(API222)
授权管理模块202通过API222揭示以下方法:
·Parameters Method-设置与操作相关联的参数。此方法的参数属于类型VT_ARRAY的一个变量(其中阵列中的每个元素都属于类型VT_BSTR)或属于类型VT_BSTR。在调用ExecuteMethod之前调用此方法。
·ParamError Method-核查Parameters方法是否正确地设置参数。如果参数设置成功,它返回0。如果Parameters方法没有正确设置参数,则调用本方法来避免调用ExecuteMethod。
·ExecuteMethod Method-执行由用户请求的操作。在成功地完成时,返回0。在调用本方法前,如果操作利用至少一个参数,则调用Parameters方法。有关用于非成功执行的错误代码的信息,请见授权管理返回值DelegatedAdministration Return Value。ExecuteMethod方法具有以下参数:
o Scope名-与请求执行操作的用户相关联的范围。将方法揭示给用户的应用程序从用户收集本范围。例如:用户使用样例ASP.NET应用程序,向管理员指定站名。这个名字是作为对话变量存储的,并在每次调用ExecuteMethod时使用。该参数的类型是BSTR。
o Method名-用户将尝试执行的方法名。这个名字对应于在配置文件内部的IISDAMethod节点的PublicName属性的值。参数的类型是BSTR。
o LogResult-值说明方法是否记录操作结果的Boolean值。
o ExecuteOperation-说明ExecuteMethod是否执行命令行或调用与方法相关联的COM方法的Boolean值。本参数在使用ExecuteMethod直到AccessCheck确定用户是否被批准对执行方法的访问有用。如果选择不执行任何方法或命令行(通过将此参数设置到FALSE),可将IISDAMethod节点的相应属性的值作为空字符串。在AccessCheck返回后,记录结果。
授权网站管理的示例程序
图3示出用于网站的授权管理的示例过程300。特别是,程序示出当用户试图修改网站的属性时发生的示例处理,其中网站是由实施图1和图2的所述IIS Delegation Administration Framework的IIS所控制的。因此,为了说明,参照图1和图2的特征对过程的操作进行描述。所上所述,在附图中,组件参考号最左边的数字标识组件最先出现的具体的图。
在方框302,管理实体(例如:管理组的一员)提供一个或多个用于由计算机130(图1)控制的应用程序和/或资源的操作的参数。这种提供是通过由授权模块202(图2)揭示的API216所提供的。
在方框304,用户执行一个诸如:由计算机130(图1)控制的Remote WebSite Administration(远程网站管理(RWSA))应用程序206(图2)之类的应用程序。该RWSA应用程序206使诸如网站拥有者之类的用户能修改、测试或管理内容和/或功能,或由计算机130(图1)控制的网站或资源的任何其它方面。如下所述,用于该管理的授权是由Delegation Administration(DA)模块204动态地确定的。对这个例子来说,用户不是有关管理与图1的计算机130相关联的配置和/或资源的管理员组的成员,虽然该用户也可以是这个管理组的成员。在方框306,用户请求执行至少一个有关受控资源的操作(例如:网站等等)。所以应用程序(例如:RWSA应用程序206)调用一个或多个授权管理(DA)模块204揭示的APIs222,以请求对操作的访问。正如已注明的,对受控资源的操作访问是由若干功能层控制的,如表10所示。
                        表10
                    示例的操作层
说明
授权策略存储器214 授权策略存储器214用于核实用户对请求的任务/方法的访问。任务引用一个单个的操作,其中可控制参数值。相关联的事务规则可以在用户输入的基础上拒绝对方法的访问。有关写用于每个任务的事务脚本的更多信息,请见表11,示例的授权管理策略存储器。
模块(授权的处理) 该模块是在前面的层证明用户能执行该操作(即,执行方法)之后执行操作的授权程序210。模块是命令行模块或COM方法。
受控应用程序(例如:RWSA应用程序206) 通过调用授权管理模块202API222中的相应之一来为任务提供接口。在这一层中,可以通过说明诸如:长度、值及格式之类的特征来控制用户的输入。在本实施例中,远程网站管理(RWSA)应用程序206将这些接口提供给授权管理模块202
揭示的API222。
在方框308,授权管理模块204通过请求的操作确定用户是否被授权访问该资源。这一确定完全不是取决于用户是不是管理计算机130(图1)的资源的管理员组的成员。因此,DA模块204通过Parameters方法API222设置ExecuteMethod参数。ExecuteMethod查找将路径提供给配置文件218的登记220中的输入。配置文件218指定能由用户执行的所有可能的方法,和在其中管理实体可为每个用户增加一个输入(即,IISDAScope节点)、
在这一点,在方框306,ExecuteMethod读取配置文件218并尝试将请求的操作名、范围和参数映射到那个文件中的输入。如果找到这些输入,则检索与授权策略存储器214相关的信息(即,得自IISDAScope节点属性的)。ExecuteMethod检索来自授权策略存储器214的信息,并根据方法和提供的参数核查(例如:对AccessCheck的访问)用户是否访问过特定的范围。为了完成它,ExecuteMethod代表客户模仿调用者将客户的身份呈现给它控制的资源,用于访问核查或相对客户的身份执行的授权。(模仿是线程在与拥有线程的程序不同的安全上下文中的执行的能力)
在方框310,如果确定用户不被授权执行请求的操作,则用户被拒绝访问该操作。然而,在方框312,如果用户被授权访问范围,且引用的方法是在用户的范围内的任务中,则ExecuteMethod执行一个程序(即,授权程序210)或建立命令行210来执行一个实施用户请求的操作的程序(即,通过对象(例如:COM对象)或命令行)。
例如:DA模块202或建立用于可执行模块的将正确执行操作/方法的命令行,或尝试初始化与操作相关联的COM对象并取得指定方法的DISPID。然后,DA模块202根据在第一Boolean参数中指定内容,调用CreateProcess或与操作相关联的COM方法。在CreateProcess的例子中,DA模块202使用命令行210仅建立,且程序在应用程序(例如:COM应用程序)的用户上下文下开始。为了讨论,这一应用程序被示为授权程序210。
在方框314,如果请求的操作运行成功,授权程序210建立一个输出阵列,并将该输出阵列记录到日志文件224。为了讨论,这一输出阵列被示为″otherdata″226的相应的一部分。在这一实施例中,如果方法的返回类型为VT_BSTR或VT_ARRAY,则阵列中的所有元素都属于类型VT_BSTR。
示例的授权管理
表11示出授权策略存储器214的示例格式。有关这种文件的语法的更多的信息,请见Authorization Policy Store File Format(授权策略存储文件格式)。
表11
示例性的授权策略存储器
<AzAdminManager MajorVersion=″1″MinorVersion=″0″>
  <!-The application is defined below->
  <AzApplication Guid=″d9089f17-5fa6-4ae9-bddf-8ca6cd1c06fb″
Name=″ SiteAdminApp″>
     <!-The application group is defined below-->
    <AzApplicationGroup Guid=″bf9d00f0-2be3-4367-a931-680038b51d0a″
                         Name=″ GroupMetabaseChangeDefaultDoc ″>
       <!-The application group has only one member -->
               <Member>S-1-5-21-3131233723-616130271-937215924-
1032</Member>
   </AzApplicationGroup>
      <!-The first operation is defined below -->
   <AzOperation Guid=″f6844d4e-c0d7-4d17-a9fa-da6fc328a1a5″
                Name=″SetDefaultDoc″>
                <OperationID>1</OperationID>
   </AzOperation>
       <!-The second operation is defined below -->
   <AzOperation Guid=″234534-g0f8-5k82-k9df-fd5cv546g5b0″
                     Name=″GetDefaultDoc″>
                <OperationID>2</OperationID>
   </AzOperation>
      <!-The task is defined below-it includes ZZ operations and an associated
       business rule -->
   <AzTask Guid=″195dlae4-3f63-4263-be00-76cb7c515b8a″
                 Name=″ DefaultDocSettings″ >
          <BizRuleLanguage>JScript</BizRuleLanguage>
          <BizRule>
                var param= AZBizRuleContext. GetParameter(″DefaultDoc″);
                if(param!= ″Index.btm″)
                          AZBizRuleContext. BizRuleResult=false;
                else
                          AZBizRuleContext. BizRuleResult= true;
             </BizRule>
      <OperationLink> f6844d4e-c0d7-4d17-a9fa-da6fc328a1a5</OperationLink>
      <OperationLink>ZZ34534-g0f8-5k82-k9df-fd5cv546g5b0</OperationLink>
 </AzTask>
 <!-The scope is defined below-it has only one role-->
 <AzScope Guid=″ce010982-6b6f-4e93-804e-d04bf1ddff78″
                Name=″Site Access for″Userl″″>
      <!-The role is defined below-it has only one task and only the members of the
        specified application group can execute the tasks inside the role-->
         <AzRole Guid=″3ac117fd-7f12-4287-a7ff-982770d6ce49″
                          Name=″ChangeDefaultDoc″>
            <AppMemberLink>bf9d00f0-2be3-4367-a931-
680038b51 d0a</AppMemberLink>
                 <TaskLink>195d1ae4-3f63-4263-be00-76cb7c515b8a</TaskLink>
       </AzRole>
    </AzScope>
 </AzApplication>
</AzAdminManager>
CmdLine和DACmdLineKeys范例
以下范例示出如何根据配置文件218中的设置和传递给ExecuteMethod和Parameters方法的参数为模块建立命令行。
                        表12
                示例性的命令行-范例1
            ″SET w3svc/1/Root/AccessFlags3″
以下范例示出配置文件218的示例语法,表11的示例命令行源自所述配置文件218。
<IISDelegatedAdminMappings>
<IISDAMethods>
     <IISDAMethod PublicName=″SetFlags″ AZStoreID=″1″ExePath=″C:\adsutil.exe″
                   CmdLine=″SET #mn#/#mp@1##1#″WaitTimeout=″10″
                   ProcessType=″CMD″Separator=″″>
          <Parameter Name=″Flags″MetabaseProperty=″AccessFlags″/>
        </IISDAMethod>
  </IISDAMethods>
  <IISDACmdLineKeys>
       <IISDACmdLineKey Name=″mn″AttributeName=″MetabaseNode″
                      Node=″IISDAScope″/>
       <IISDACmdLineKey Name=″mp″ AttributeName=″MetabaseProperty″
                      Node=″Parameter″/>
</IISDACmdLineKeys>
</IISDelegatedAdminMappings>
以下参数被传递给ExecuteMethod:(″Scopel″,″SetFlags″,true,true)。以下参数被传递给Parameters:″3″。方法的CmdLine属性的值是″SET#mn#/#mp@1##1#″。授权管理202(“the tool”)查找第一个由两个#或$字符界定的序列,在本例中为,#mn#。工具尝试用Name=″mn″属性找到IISDACmdLineKeys的子节点。IIS授权管理位于它引用的AttributeName,在本例中为MetabaseNode;和该节点处所述属性被再发现,在本例中为IISDAScope。工具用在范围″Scopel″中定义的属性MetabaseNode的值替换#mn#序列,因为″Scopel″是由ExecuteMethod的调用者指定的范围。在本例中,这个值是“w3svc/1/Root”。
授权管理202评估下一个由两个#或$字符界定的序列,在本例中为,#mp@1#,以定位一个具有Name=″mp″属性的IISDACmdLineKeys的子节点。授权管理202定位它引用的AttributeName,在本例中为,MetabaseProperty;和所述属性被定义的节点,在本例中为Parameter。因为在标记中出现了“@1”,工具用用索引1的参数定义的MetabaseProperty属性的值代替标记#mp@1#,在本例中为“AccessFlags”。
考虑到上述的,发生以下动作来制造这一命令行:按照原样使用″SET″,因为它不是由#或$字符界定;用″w3svc/1″替代#mn#;按照原样使用″/″,因为它不是用#或$字符界定;用″AccessFlags″替代#mp@1#;且用索引1的参数(3)替代#1#。
                        表13
                示例性的命令行-范例2
        ″SET MetabaseNode AccessFlags 3″
以下范例示出产生表12的示例命令行的配置文件218的示例语法。
<IISDelegatedAdminMappings>
  <IISDAMethods>
       <IISDAMethod PublicName=″SetFlags″AZStoreID=″1″
ExePath=″C:\adsutil.exe″
                       CmdLine=″SET$mn$#mp@1##1#″WaitTimeout=″10″
ProcessType=″CMD″
                  Separator=″″>
                <Parameter Name=″Flags″MetabaseProperty=″AccessFlags″/>
         </IISDAMethod>
    </IISDAMethods>
    <IISDACmdLineKeys>
         <IISDACmdLineKey Name=″mn″AttributeName=″MetabaseNode″
Node=″IISDAScope″/>
        <IISDACmdLineKey Name=″mp″AttributeName=″MetabaseProperty″
Node=″Parameter″/>
  </IISDACmdLineKeys>
  </IISDelegatedAdminMappings>
以下参数被传递给ExecuteMethod:(″Scope1″,″SetFlags″)。以下参数被传递给Parameters:″3″。参考配置文件语法来理解以下关于如何建立这个命令行的讨论。方法的CmdLine属性的值是″SET #mn#/#mp@1##1#″。授权管理202查找由两个#或$字符界定的第一个序列,在本例中为,$mn$,并尝试用Name=″mn″属性找到IISDACmdLineKeys的子节点。授权管理查找它引用的AttributeName-MetabaseNode-和所述定义此属性的节点-IISDAScope-并用在范围″Scope1″中定义的MetabaseNode属性替换$mn$序列,因为″Scope1″是由ExecuteMethod的调用者指定的范围。授权管理查看下一个由两个#或$字符界定的序列,在本例中为,#mp@1#并尝试定位一个具有Name=″mp″属性的IISDACmdLineKeys的子节点。授权管理定位它引用的AttributeName-MetabaseProperty-和所述定义该属性的节点-Parameter。因为在标记中出现了“@1”,工具用为索引1参数定义的MetabaseProperty属性的值代替标记$mp@1$,在本例中为“AccessFlags”。
总之,发生以下动作来制造这个命令行:按照原样使用″SET″,因为它不是由#或$字符界定的;用″MetabaseNode″替代$mn$;用″AccessFlags″替代#mp@1#;且用索引1的参数值(3)替代#1#。
                        表14
                示例性的命令行-范例3
                ″SET 111″命令行
以下范例示出产生表12的示例命令行的配置文件218的示例语法。
<IISDelegatedAdminMappings>
  <IISDAMethods>
       <IISDAMethod PublicName=″SetFlags″AZStoreID=″1″
ExePath=″C:\adsutil.exe″
                       CmdLine=″#1##2##3#″WaitTimeout=″10″
ProcessType=″CMD″
                  Separator=″″>
                  <Parameter Name=″Read″MetabaseProperty=″AccessRead″/>
                  <Parameter Name=″Write″MetabaseProperty=″AccessWrite″/>
                  <Parameter Name=″Script″MetabaseProperty=″AccessScript″
/>
           </IISDAMethod>
      </IISDAMethods>
</IISDelegatedAdminMappings>
以下参数被传递给ExecuteMethod:(″Scope1″,″SetFlags″)。以下参数被传递给Parameters:包含以下字符串:″1″,″1″,″1″的阵列。参考配置文件语法来理解以下关于如何建立这个命令行的讨论。方法的CmdLine属性的值是″SET#1##2##3#″。该工具查看由两个#或$字符界定的第一序列,在本例中为#1#。因为在两个#字符之间有一个数字,该工具用第一参数的值代替这一标记。工具为接下来的两个标记:#2#和#3#″执行同样的程序。
                    表15
            示例性的命令行-范例4
                ″#1##2##4#″
以下范例示通过将一个不正确的参数号提供给Parameters方法来显示引起错误的命令行。以下为产生表14的示例命令行的配置文件语法。
<IISDelegatedAdminMappings>
  <IISDAMethods>
       <IISDAMethod PublicName=″SetFlags″ AZStoreID=″1″
ExePath=″C :\adsutil.exe″
                    CmdLine=″#1##2##4#″WaitTimeout=″10″
ProcessType=″CMD″
                    Separator=″″>
               <Parameter Name=″Read″MetabaseProperty=″AccessRead″/>
               <Parameter Name=″Write″MetabaseProperty=″AccessWrite″/>
               <Parameter Name=″Script″MetabaseProperty=″AccessScript″/>
        </IISDAMethod>
   </IISDAMethods>
</IISDelegatedAdminMappings>
以下参数被传递给ExecuteMethod:(″Scope1″,″SetFlags″)。以下参数被传递给Parameters:一个包括以下字符串:″1″,″1″,″1″的阵列。
在这个范例中,授权管理模块202返回一个错误,因为命令行引用了一个具有索引4(通过在CmdLine属性中指定#4#)的参数,但Parameters只接收三个参数。因此,没有建立命令行。
示例的配置文件
以下配置文件218定义″SetProperty″方法和相关联的映射:用于用户名为″www.fabrikam.com″的范围;日志文件格式;和用于命令行标记的模板。
                        表16
                  示例性的配置文件
<?xml version=″1.0″ encoding=″utf-8″ ?>
<IISDelegatedAdminMappings>
  <IISDAMethods>
       <IISDAMethod PublicName=″SetProperty″ AZStoreID=″1″
ExePath=″c:\adsutil.exe″
                       CmdLine=″SET#mn##1#″WaitTimeout=″10″
ProcessType=″CMD″
                  Separator=″″Description=″″>
         <Parameter Name=″Flags″MetabaseProperty=″AccessFlags″
Description=″″/>
         <Interface Name=″MyObject″Flag=″9600″
ProgID=″Scripting.FileSystemObject″/>
        </IISDAMethod>
    <IISDAMethods>
        <IISDAScopes>
              <IISDAScope PublicName=″www.fabrikam.com″
AZName=″Scope1″
                       MetabaseNode=″IIS://localhost/w3scv/1″
                       AZStorePath=″c:\store.xml″
                       AZApplicationName=″SecurityApplication″
                       GenerateAudits=″1″AuditName=″Scope1″>
         <IISDAScopes>
    </IISDAScopes>
    <IISDALog Path=″c:\logs″>
         <Field Name=″Parameter1″/>
         <Field Name=″Parameter2″/>
    </IISDALog>
    <IISDACmdLineKeys>
         <IISDACmdLineKey Name=″mn″Attribute=″MetabaseNode″
Node=″IISDAScope″/>
  </IISDACmdLineKeys>
</IISDelegatedAdminMappings>
SetProperty方法
在表15的范例中,该方法对应于在授权策略存储器214中具有OperationID=1的一个方法。执行请求的动作的可执行或命令行210的路径为″C:\Adsutil.exe″。用于这个方法的命令行模板为″SET#mn##1#″。被执行的这个方法的超时时间为10秒。没有定义分隔符或说明。本方法只有一个参数,称为″Flags″,它对应于IIS元数据库中的″AccessFlags″特性。方法将″MyObject″对象名(对应于该″Scripting.FileSystemObject″对象的一个例子)定义成能由与引用具有在授权策略存储器中的ID1的操作的任务相关联的BizRule使用。
在表15的范例中,定义成″www.fabrikam.com″的范围与位于″C:\Store.xml″的存储器中的名为″Scope1″的范围相对应。在″SecurityApplication″应用程序中定义在这个存储器中的范围。对这个范围的访问生成一个使用″Scope1″名字的审计,以标识在EventLog中的输入。
命令行标记格式
这个模板指定″SetProperty″方法的CmdLine属性只能用(除了用于参数值的″keywords″和#D#标识之外)包含″mn″键的标识,对应于指定作为ExecuteMethod的参数的范围,该标识是用名字(使用$mn$)或用值(用#mn#)标识具有在″IISDAScope″下定义的名字″MetabaseNode″的属性。
示例的情况:ExecuteMethod是如何工作的。
参考以下简化的配置和授权管理程序文件来理解ExecuteMethod是如何在这个情况中工作的。配置文件218如下:
<?xml version=″1.0″ encoding=″uff-8″?>
<IISDelegatedAdminMappings>
  <IISDAMethods>
       <IISDAMethod PublicName=″SetAccessProperty″AZStoreID=″1″
                 ExePath=″c:\adsutil.exe″CmdLine=″SET #Path#/Root/#Flag@1#
#1#″
                 WaitTimeout=″10″ProcessType=″CMD″Separator=″″>
              <Parameter Name=″Flags″MetabaseProperty=″AccessFlags″/>
              <Interface Name=″MyFSOObject″Flag=″9600″
                         ProgID=″System.FileSystemObject″/>
       </IISDAMethod>
  </IISDAMethods>
  <IISDAScopes>
      <IISDAScope PublicName=″www.fabrikam.com″ AZName=″Scope1″
             MetabaseNode=″IIS://localhost/w3scv/1″
             AZStorePath=″C:\DelegAdm\$tores\User1.xml″
             AZApplicationName=″SiteAdminApp″ GenerateAudits=″1″
             AuditName=″Scope1″>
  </IISDAScopes>
  <IISDALog Path=″c:\Logs″>
      <Field Name=″Param1″/>
      <Field Name=″Param2″/>
  </IISDALog>
  <IISDACmdLineKeys>
       <IISDACmdLineKey Name=″Path″Attribute=″MetabaseNode″
Node=″IISDAScope″/>
       <IISDACmdLineKey Name=″Flag″Attribute=″MetabaseProperty″
Node=″Parameter″/>
  </IISDACmdLineKeys>
  </IISDelegatedAdminMappings>
示例的存储器214如下:
<AzAdminManager MajorVersion=″1″MinorVersion=″0″>
   <AzApplication Guid=″d9089f17-5fa6-4ae9-bddf-8ca6cd1c06fb″
Name=″SiteAdminApp″>
   <AzApplicationGroup Guid=″bf9d00f0-2be3-4367-a931-680038b51d0a″
                             Name=″ApplicationAccessGroup″>
     <Member>S-1-5-21-3131233723-616130271-937215924-1032</Member>
   </AzApplicationGroup>
   <AzOperation Guid=″f6844d4e-c0d7-4d17-a9fa-da6fc328a1a5″
                   Name=″SetAccessFlags″>
          <OperationID>1</OperationID>
     </AzOperation>
     <AzTask Guid=″195d1ae4-3f63-4263-be00-76cb7c515b8a″
Name=″SecuritySettings″>
     <BizRuleLanguage>JScript</BizRuleLanguage>
     <BizRule>
                var bFileExists = MyFSOObject.FileExists(″c:\users\user1.txt″);
                var param = AZBizRuleContext.GetParameter(″AccessFlags″);
                if(param!= 1)
                          AZBizRuleContext.BizRuleResult=false;
                else
                          AZBizRuleContext.BizRuleResult=true;
                </BizRule>
     <OperationLink>f6844d4e-c0d7-4d17-a9fa-da6fc328a1a5</OperationLink>
   </AzTask>
   <AzScope Guid=″ce010982-6b6f-4e93-804e-d04bf1ddff78″Name=″Scope1″>
                <AzRole Guid=″3ac117fd-7f12-4287-a7ff-982770d6ce49″
                          Name=″ChangeSecuritySettings″>
             <AppMemberLink>bf9d00f0-2be3-4367-a931-
680038b51d0a</AppMemberLink>
                  <TaskLink>195d1ae4-3f63-4263-be00-76cb7c515b8a</TaskLink>
         </AzRole>
      </AzScope>
    </AzApplication>
</AzAdminManager>
以下假定应用于本示例情况:登记输入HKLM\Software\Microsoft\IISDelAdmin\DelegAdminMappingPath(REG_SZ)被定义,且包含以下字符串:″C:\DelegAdmin\Config\Config.xml″-配置文件218。Delegadm.dll对象在COM+应用程序(即,授权程序210)内部运行,该应用程序自身对这个登记输入进行读访问。
用户,例如:用户1″是通过以下ApplicationAccessGroup组中的SID在存储器中标识的:
<Member>S-1-5-21-3131233723-616130271-937215924-1032</Member>
这个用户向一应用程序(例如:远程客户网站管理应用程序206)请求执行″SetAccessProperty″方法。在该请求中,范围是″ScopeUser1″,方法是″SetAccessProperty″,及该方法的参数为″1″。根据这个请求,在.asp页执行以下简化的代码:
Dim objDelegAdmin=CreateObject(″Microsoft.IIS.DelegatedAdmin″)
objDelegAdmin.Parameters.=″1″
objDelegAdmin.ExecuteMethod(″ScopeUserl″,″SetAccessProperty″)
这一代码将通过调用″SetAccessProperty″方法和使用授权管理API尝试使用户1能对相应于″ScoepUserl″的站点将AccessFlags属性设置到1。
示例的ExecuteMethod处理
为了完成这项任务,在ExecuteMethod内部执行以下步骤:确认指定的参数。如在″Parameters″方法语法中注明的,Parameters方法的参数既可以是字符串,也可以是字符串的一个阵列。在本例中,参数被接受,因为它是一个字符串。如果该参数被拒绝,则记录相应的错误代码。该对象尝试取得登记输入HKLM_Software_Microsoft_IISDelAdmin_DelegAdminMappingPath的值。在本例中,值被定义成C:\DelegAdmin\Config\Config.xml。COM+应用程序本身有权访问该值。如果应用程序不能读取登记输入值,则它记录一个错误。
因为没有执行该操作,在日志文件中的CMDLine字段将包括与SetAccessProperty方法相对应的IISDAMethod节点的CmdLine属性的值。
在应用程序获取访问该配置文件的权后,它在配置文件中搜索范围″ScopeUserl″,该范围是作为参数被指定的。如果没有发现该范围,则记录一个错误。即使有一个″IISDAScope″节点包括具有值″www.fabrikam.com″的PublicName属性,如果此节点不包括所有使用的属性,也会出现错误。
在找到该范围后,读取相应的IISDAScope节点,且应用程序知道″ScopeUserl″映射到一个在AZStorePath属性定义的授权策略存储器中的名为″Scopel″的范围,该范围在本例中为″C:\DelegAdmin\Stores\Userl.xml″。应用程序通过AZApplicationName属性的值(在本例中为″SiteAdminApp″)还得到定义″Scopel″范围的存储器内部的应用程序名。
在确认公共范围名之后,确认方法名。应用程序在配置文件118查找特定的方法名,在本例中为″SetAccessProperty″。如果没有找到该方法,则记录合适的错误代码。即使有一个″IISDAScope″节点包括具有值″SerAccessProperty″的PublicName属性,如果此节点不包括所有使用的属性,也会出现错误。
在找到方法名之后,读取相应的IISDAMethod节点。该工具现在将″SetAccessProperty″方法映射到在AZStoreID属性中定义的操作,在本例中为″1″。如在策略文件的语法中所指定的,在授权策略存储器中只有一项任务能引用本方法。如果在授权策略存储器中超过一项任务引用这个方法,AccessCheck可拒绝对范围的访问。这是可以发生的,因为与任务之一有关的事务规则拒绝了对范围的访问。
和属性一起,读取IISDAMethod节点的子节点,以检索关于方法的参数和接口的信息,将被用作为引用这一操作的任务的事务规则(在本例中为具有ID″1″的操作)。如果确认程序发生错误,则记录一个相应的错误代码。错误可能发生是因为在Paramter内部使用的属性或接口子节点从IISDAMethod节点的定义中丢失。在配置文件中定义的参数的个数与在调用ExecuteMethod之前设置(使用Parameters方法)的参数的个数相匹配。否则,记录一个指定错误代码。
应用程序尝试使用存储器路径初始化授权存储器对象,在本例中为″C:\DelegAdmin\Stores\Userl.xml″,并打开在这一存储器内部的相应的应用程序,在本例中为″SiteAdminApp″。如果操作之一失败,捕捉该例外,并记录结果。
应用程序尝试用存储器路径初始化授权存储器对象(在本例中为″C:\DelegAdmin\Stores\Userl.xml″),并打开在存储器内部的相应的应用程序(在本例中为″SiteAdminApp″)。如果操作之一失败,则捕捉该例外,并记录该结果。
应用程序收集有关调用者的信息(在本例中为用户1),并建立用于AccessCheck的参数。以下的表16描述在这个例子中使用的AccessCheck参数。
                        表17
                AccessCheck参数的示例集合
  AccessCheck参数 说明
  bstrObjectName 因为定义″ScopeUserl″的IISDAScope节点指定GenerateAudits=″1″,这一参数具有AuditName属性的值,在本例中为″Scopel″。
  varScopeNames 参数″ScopeUserl″范围映射到在授权存储器中的范围名″Scopel″。这是用于AccessCheck的这个参数的值。
  varOperations 此参数包括我们感兴趣的存储器操作的ID,在本例中为1
  varParameterNames 此参数包括参数名的阵列。在本例中,该方法仅具有一个定义的Parameter子节点,″Flags″。
  varParameterVaules 此参数包括与在上述阵列中定义的参数名相对应的,具有参数值的阵列。此例仅使用一个具有值为″1″的参数。
  varInterfaceNames 此参数包括对象名的列表,因为这些名字用于引用具有ID1的操作的任务中定义的事务规则。在本例中,只有一个接口子节点,且阵列仅包含这个子节点的Name属性″MyFSOObject″。
  varInterfaceFlags 与上述对象名相对应,此阵列仅包含一个元素。这是接口子节点中的Flags属性的值9600。
  varInterfaces 此参数是在尝试建立对象的一个例子(由ProgId在接口子节点的ProgID属性中定义的)期间得到的IDispatch指示器的一个阵列(在本例中具有一个元素)。在本例中,此ProgID为″System.FileSystemObject″。如果不能建立此对象的例子,则返回一个特定的错误代码。
如果建立用于AccessCheck参数的过程成功,则调用函数并核查结果。在本例中,根据参数和定义的两个XML文件,用户1被授权访问″Scopel″范围。如果这个函数失败,则生成一个例外。如果拒绝AccessCheck访问用户,记录一个特定的错误代码。
如果函数向用户授权访问″Scopel″,建立用于可执行模块的命令行210(即,因为在此例中ProcessType属性的值为″CMD″),并用新建立的命令行调用执行模块。在本例中,如下建立命令行:用在节点IISDAScope(与找到的范围IIS://Localhost/W3svc/1相对应)中定义的MetabaseNode属性替换#Path#。用为索引1定义的Parameter值(在本例中为AccessFlags)定义MetabaseProperty属性的值替换#Flag@1#。用第一参数的值(在本例中为1)替换#1#。这意味着用于可执行模块的命令行是″SET IIS://W3svc/1/Root/AccessFlags 1″。以下例子示出执行的完整的命令行为:C:\adsutil.exe SETIIS://W3svc/1/Root/AccessFlags 1.
总之,如果在建立命令行时发生错误(例如:如果使用了诸如:定义象#KEY$这样的无效序列,或如果使用了未经定义的键),应用程序记录一个错误。
结论
用于生成基于对比的用于图像关注分析(attention analysis)的突起(saliency)映射的***和方法。尽管使用了专用于结构化特征和方法的操作的语言来描述***和方法,在所附权利要求书中定义的主题并不一定局限于所述特定特征或操作。而是,该特定的特征和操作是作为实施该权利要求的主题的示例形式而公开的。

Claims (38)

1.在分布式计算机环境中,由连接到一个或多个客户机装置的服务器使用的方法,其特征在于,该方法包括:
控制一组资源;
接收一个请求,使用户能在资源的一个资源上执行一个操作,该请求是通过由服务器控制的应用程序接收的;和
将确定是否授权该操作作为用户是否已被授权执行有关资源的操作的函数,该授权不取决于用户是不是与服务器的任何资源相关联的管理员组的成员。
2.如权利要求1所述的方法,其特征在于,其中确定是否授权操作是由一安全授权管理框架执行的。
3.如权利要求1所述的方法,其特征在于,所述操作与资源的内容和/或功能的修改相关联。
4.如权利要求1所述的方法,其特征在于,所述资源被表示成一个因特网信息服务(IIS)元数据库节点。
5.如权利要求1所述的方法,其特征在于,所述请求包括一个与用户相关联的范围,和一个与操作相关联的方法名。
6.如权利要求1所述的方法,其特征在于,所述资源是由因特网服务提供者(ISP)控制的网站,且其中没有授权用户在与ISP相关联的任何资源上执行管理动作,除了通过向ISP发送请求,请求允许用安全授权管理框架进行评估。
7.如权利要求1所述的方法,其特征在于,所述请求还包括一个用户是否想通过一个动态建立的命令行或通过一个已与操作相关联的可执行的对象执行该操作的指示。
8.如权利要求1所述的方法,其特征在于,所述请求还包括一个用户是否想记录该操作的结果日志的指示。
9.如权利要求1所述的方法,其特征在于,所述安全授权管理框架是安全的,至少因为它不允许用户访问基于角色的用户许可的映射,以执行针对该资源的操作。
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
在服务器上安装应用程序;
响应于安装,应用程序标识一组应用程序能执行的操作;
由管理组的成员根据包括该用户的一组用户的授权特定角色将该操作映射到一组安全许可;和
所述确定还包括应用程序利用该映射识别用户是否被许可执行该操作。
11.如权利要求1所述的方法,其特征在于,所述方法还包括:
由管理员组的成员指定基于角色的用户对标识资源的因特网信息服务(IIS)元数据库的节点进行访问的许可;
对任务指示一个接口,该接口包括一组参数和一个名字,该任务包括所述操作;和
所述确定还包括:
在一配置文件中定位该接口;
响应于定位该接口,向资源呈现用户的身份,以根据参数,名字和资源评估一个范围;和
响应于所述呈现,确定用户是否已被授予基于角色的访问许可,以执行有关该资源的操作。
12.如权利要求1所述的方法,其特征在于,响应于确定用户已被授权执行有关该资源的操作,该方法还包括:
设置与该操作相关联的参数;和
在一个与用户相关联的范围内执行该操作。
13.一种用于分布式计算机环境中的计算机可读媒体,分布式计算机环境包括一个服务器及一个或多个连接到服务器的客户机计算装置,其特征在于,所述计算机可读媒体包括计算机可执行指令,用于:
控制一组资源,资源中的一个特定资源使用户能确定用户是否已被授权访问所述资源中的一个资源;
从用户接收一个请求,以在该资源上执行一个操作;和
将确定是否授权该操作为是否该用户已被授予基于角色的权力范围,以执行该操作的函数,所述基于角色的权力范围不要求用户是与服务器的任何资源相关联的管理员组的成员。
14.如权利要求13所述的计算机可读媒体,其特征在于,所述操作与资源的内容和/或功能的修改相关联。
15.如权利要求13所述的计算机可读媒体,其特征在于,所述资源被表示成一个因特网信息服务(IIS)元数据库节点。
16.如权利要求13所述的计算机可读媒体,其特征在于,所述请求包括一个与用户相关联的范围,和一个与操作相关联的方法名。
17.如权利要求13所述的计算机可读媒体,其特征在于,所述资源是由因特网服务提供者(ISP)控制的网站,且其中用户不是管理员组的成员。
18.如权利要求13所述的计算机可读媒体,其特征在于,所述请求还包括一个用户是否想通过一个动态建立的命令行或通过一个已与操作相关联的可执行的对象执行该操作的指示。
19.如权利要求13所述的计算机可读媒体,其特征在于,所述与确定是否授权该操作相关联的操作是安全的,至少因为用户无权访问用户基于角色的许可来执行该操作。
20.如权利要求13所述的计算机可读媒体,其特征在于,所述计算机可执行指令还包括以下指令,用于:
识别一组与资源相关联的操作;
将操作映射到一组安全许可,该安全许可根据包括该用户的一组用户的授权特定角色;和
所述用于确定的指令还包括利用映射识别用户是否具有执行该操作的许可的指令。
21.如权利要求13所述的计算机可读媒体,其特征在于,所述计算机可执行指令还包括以下指令,用于:
安全地对标识资源的因特网信息服务(IIS)元数据库节点指定基于角色的用户访问许可;
指示一个对任务的接口,该接口包括一组参数和一个名字,该任务包括该操作;和
所述用于确定的计算机可执行指令还包括指令,用于:
在一配置文件中定位该接口;
响应于定位该接口,向资源呈现用户的身份,以根据参数,名字和资源评估一个范围;和
响应于所述呈现,识别用户是否已被授予基于角色的访问许可,以执行有关该资源的操作。
22.如权利要求13所述的计算机可读媒体,其特征在于,所述计算机可执行指令,响应于确定用户是否已被授权执行有关资源的操作,还包括以下指令,用于:
设置与操作相关联的参数;和
在一个用户相关联的范围内执行该操作。
23.一个用于分布式计算机环境中的服务器,该计算机环境包括该服务器及一个或多个连接到服务器的客户机计算装置,其特征在于,该服务器包括:
一处理器;和
一与处理器相连接的存储器,该存储器包括以下计算机可执行指令,用于:
控制一组资源;
从用户接收一个请求,以在该资源的一个资源上执行一个操作;和
将确定是否授权该操作作为用户是否已被授予基于角色的权力范围,以执行该操作的函数,所述基于角色的权力范围不要求用户是与服务器的任何资源相关联的管理员组的成员。
24.如权利要求23所述的服务器,其特征在于,所述请求是由资源中的至少一个资源生成的。
25.如权利要求23所述的服务器,其特征在于,所述操作与资源的内容和/或功能的修改相关联。
26.如权利要求23所述的服务器,其特征在于,所述资源被表示成一个因特网信息服务(IIS)元数据库节点。
27.如权利要求23所述的服务器,其特征在于,所述请求包括一个与用户相关联的范围,一个与该操作相关联的方法名。
28.如权利要求23所述的服务器,其特征在于,所述资源是一个由因特网服务提供者(ISP)控制的网站,且所述用户不是管理员组的成员。
29.如权利要求23所述的服务器,其特征在于,所述请求还包括该操作是否是通过一个动态建立的命令行或通过一个已与操作相关联的可执行的对象被执行的指示。
30.如权利要求23所述的服务器,其特征在于,所述安全授权管理框架是安全的,至少因为它不允许用户访问基于角色的用户许可的映射,来执行针对该资源的操作。
31.如权利要求23所述的服务器,其特征在于,所述计算机可执行指令还包括以下指令,用于:
识别一组与资源相关联的操作;
将操作映射到一组安全许可,该安全许可基于包括该用户的一组用户的授权特定角色;和
其中用于确定的指令还包括利用映射识别用户是否具有执行该操作的许可的指令。
32.如权利要求23所述的服务器,其特征在于,所述计算机可执行指令还包括以下指令,用于:
安全地对标识资源的因特网信息服务(IIS)元数据库的节点指定基于角色的用户访问许可;
指示一个对任务的接口,该接口包括一组参数和一个名字,该任务包括该操作;和
所述用于确定的计算机可执行指令还包括指令,用于:
在一配置文件中定位该接口;
响应于定位该接口,向资源呈现用户的身份,以根据参数,名字和资源评估一个范围;和
响应于所述呈现,识别用户是否已被授与基于角色的访问许可,以执行有关该资源的操作。
33.如权利要求23所述的服务器,其特征在于,所述计算机可执行指令,响应于确定用户是否已被授权执行有关资源的操作,还包括以下指令,用于:
设置与该操作相关联的参数;和
在与该用户相关联的范围内执行该操作。
34.一种服务器,其特征在于,包括:
用于控制一组资源的装置;
用于从用户接收一个请求,以在资源的一个资源上执行一个操作的装置;和
用于将确定是否授权该操作作为用户是否已被授予基于角色的权力范围,以执行该操作的一个函数的装置,所述基于角色的权力范围不要求用户是与该服务器相关联的管理员组的成员。
35.如权利要求34所述的服务器,其特征在于,所述操作与资源的内容和/或功能的修改相关联。
36.如权利要求34所述的服务器,其特征在于,所述资源是一个因特网信息服务(IIS)元数据库节点。
37.如权利要求34所述的服务器,其特征在于,所述资源是一个由因特网服务提供者(ISP)控制的网站,且所述用户不是管理员组的成员。
38.如权利要求34所述的服务器,其特征在于,其中响应于确定用户是已被授权执行有关资源的操作,该服务器还包括:
用于设置与该操作相关联的参数的装置;和
用于在与用户相关联的范围内执行该操作的装置。
CN2004100589718A 2003-08-28 2004-07-23 受控资源的授权管理 Active CN1592230B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/650,891 2003-08-28
US10/650,891 US7827595B2 (en) 2003-08-28 2003-08-28 Delegated administration of a hosted resource

Publications (2)

Publication Number Publication Date
CN1592230A true CN1592230A (zh) 2005-03-09
CN1592230B CN1592230B (zh) 2013-01-02

Family

ID=34104718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004100589718A Active CN1592230B (zh) 2003-08-28 2004-07-23 受控资源的授权管理

Country Status (19)

Country Link
US (1) US7827595B2 (zh)
EP (1) EP1510900B1 (zh)
JP (1) JP4718804B2 (zh)
KR (1) KR101137049B1 (zh)
CN (1) CN1592230B (zh)
AU (1) AU2004203375A1 (zh)
BR (1) BRPI0403012A (zh)
CA (1) CA2472982A1 (zh)
CO (1) CO5600217A1 (zh)
HK (1) HK1073709A1 (zh)
IL (1) IL162885A (zh)
MX (1) MXPA04007143A (zh)
MY (1) MY163665A (zh)
NO (1) NO20043160L (zh)
NZ (1) NZ533955A (zh)
RU (1) RU2360368C2 (zh)
SG (1) SG109539A1 (zh)
TW (1) TWI336043B (zh)
ZA (1) ZA200405489B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176771A (zh) * 2011-12-21 2013-06-26 无锡华润矽科微电子有限公司 芯片软件***中实现内核程序自动实时生成的***及方法
CN103713919A (zh) * 2012-10-01 2014-04-09 辉达公司 用于启动可调用函数的***和方法
CN103744673A (zh) * 2014-01-06 2014-04-23 北京乐动卓越科技有限公司 一种基于iOS平台的资源配置方法
CN104137007A (zh) * 2012-03-02 2014-11-05 皇家飞利浦有限公司 用于针对楼宇自动化和控制***的访问判决评估的***和方法
CN106570035A (zh) * 2015-10-13 2017-04-19 北京国双科技有限公司 数据库授权的方法及装置
CN114003963A (zh) * 2021-12-30 2022-02-01 天津联想协同科技有限公司 一种企业网盘下文件授权的方法、***、网盘及存储介质

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546633B2 (en) * 2002-10-25 2009-06-09 Microsoft Corporation Role-based authorization management framework
CA2442799A1 (en) 2003-09-26 2005-03-26 Ibm Canada Limited - Ibm Canada Limitee Generalized credential and protocol management of infrastructure
US7434256B2 (en) * 2003-12-18 2008-10-07 Intel Corporation Security management for wireless clients
US20060168216A1 (en) * 2004-12-09 2006-07-27 Alexander Wolf-Reber Digital management system and method for managing access rights in such a management system
JP4628149B2 (ja) * 2005-03-14 2011-02-09 株式会社エヌ・ティ・ティ・ドコモ アクセス制御装置及びアクセス制御方法
US7657746B2 (en) * 2005-04-22 2010-02-02 Microsoft Corporation Supporting statements for credential based access control
US8700523B2 (en) * 2005-06-10 2014-04-15 American Express Travel Related Services Company, Inc. System and method for delegating management of a financial transaction account to a designated assistant
US20070143801A1 (en) * 2005-12-20 2007-06-21 Madonna Robert P System and method for a programmable multimedia controller
WO2007074797A1 (ja) * 2005-12-28 2007-07-05 International Business Machines Corporation クライアント・サーバ・システムにおける負荷分散
US8429708B1 (en) * 2006-06-23 2013-04-23 Sanjay Tandon Method and system for assessing cumulative access entitlements of an entity in a system
US20080104418A1 (en) * 2006-10-25 2008-05-01 Electonic Data Systems Corporation Apparatus, and associated method, for providing an electronic storage box for securely storing data in electronic form
US20090187552A1 (en) * 2008-01-17 2009-07-23 International Business Machine Corporation System and Methods for Generating Data Analysis Queries from Modeling Constructs
KR101152772B1 (ko) * 2008-02-14 2012-06-11 노키아 코포레이션 게시를 구현하는 시스템 및 방법
JP5164727B2 (ja) * 2008-08-06 2013-03-21 キヤノン株式会社 アプリケーション開発を支援するための開発ツールキットとしてのプログラム
US8667578B2 (en) * 2009-01-16 2014-03-04 Microsoft Corporation Web management authorization and delegation framework
US10110631B2 (en) * 2009-02-12 2018-10-23 International Business Machines Corporation Introducing encryption, authentication, and authorization into a publication and subscription engine
US20100325684A1 (en) * 2009-06-17 2010-12-23 Microsoft Corporation Role-based security for messaging administration and management
DE112010005606T5 (de) * 2010-05-28 2013-04-04 Mitsubishi Electric Corp. Protokoliereinrichtung, Protokoliersystem und Steuerverfahren für eine Protokoliereinrichtung
CN102411575A (zh) * 2010-09-21 2012-04-11 北京大学 一种网页显示方法、***以及服务器
JP5623234B2 (ja) * 2010-10-22 2014-11-12 キヤノン株式会社 権限委譲システム、権限委譲方法、情報処理装置およびその制御方法、並びにプログラム
US8683557B1 (en) 2011-02-05 2014-03-25 Google Inc. Delegation as a mechanism to manage business activity by taking on a shared identity
US9105009B2 (en) 2011-03-21 2015-08-11 Microsoft Technology Licensing, Llc Email-based automated recovery action in a hosted environment
JP5827518B2 (ja) * 2011-08-17 2015-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報管理システム、方法及びプログラム
US8839257B2 (en) 2011-11-22 2014-09-16 Microsoft Corporation Superseding of recovery actions based on aggregation of requests for automated sequencing and cancellation
US9460303B2 (en) * 2012-03-06 2016-10-04 Microsoft Technology Licensing, Llc Operating large scale systems and cloud services with zero-standing elevated permissions
US9401904B1 (en) * 2012-03-15 2016-07-26 Motio, Inc. Security migration in a business intelligence environment
US9081950B2 (en) * 2012-05-29 2015-07-14 International Business Machines Corporation Enabling host based RBAC roles for LDAP users
US8881249B2 (en) 2012-12-12 2014-11-04 Microsoft Corporation Scalable and automated secret management
RU2524566C1 (ru) * 2013-03-18 2014-07-27 Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" Система контроля доступа к файлам на основе их автоматической разметки
RU2536678C1 (ru) * 2013-07-30 2014-12-27 ООО "НеоБИТ" Способ проверки прав доступа для учетных записей пользователей в грид-системах и система для его осуществления
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
WO2017087822A1 (en) * 2015-11-18 2017-05-26 Level 3 Communications, Llc Service activation system
JP6707153B2 (ja) * 2016-06-16 2020-06-10 グーグル エルエルシー クラウドコンピューティングノードのセキュアな設定
US20190311105A1 (en) 2016-10-18 2019-10-10 Hewlett-Packard Development Company, L.P. Generating authentication assertions including an assurance score
US11188362B2 (en) * 2019-05-29 2021-11-30 Red Hat, Inc. Generating a command line interface for projects based on configuration management technologies
CN110633250B (zh) * 2019-07-19 2023-05-09 完美世界(北京)软件科技发展有限公司 资源管理***和方法
US11302589B2 (en) * 2019-12-02 2022-04-12 Micron Technology, Inc. Electron beam probing techniques and related structures
CN112347442B (zh) * 2020-11-30 2023-03-21 四川长虹电器股份有限公司 用户权限的验证方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0697662B1 (en) 1994-08-15 2001-05-30 International Business Machines Corporation Method and system for advanced role-based access control in distributed and centralized computer systems
US6222856B1 (en) * 1996-07-02 2001-04-24 Murali R. Krishnan Adaptive bandwidth throttling for individual virtual services supported on a network server
US6055637A (en) 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US5748890A (en) 1996-12-23 1998-05-05 U S West, Inc. Method and system for authenticating and auditing access by a user to non-natively secured applications
US6014666A (en) 1997-10-28 2000-01-11 Microsoft Corporation Declarative and programmatic access control of component-based server applications using roles
US6189103B1 (en) 1998-07-21 2001-02-13 Novell, Inc. Authority delegation with secure operating system queues
US6519647B1 (en) * 1999-07-23 2003-02-11 Microsoft Corporation Methods and apparatus for synchronizing access control in a web server
GB2353875A (en) 1999-09-04 2001-03-07 Hewlett Packard Co Computer access control system.
US20020026592A1 (en) 2000-06-16 2002-02-28 Vdg, Inc. Method for automatic permission management in role-based access control systems
US6535884B1 (en) 2000-07-11 2003-03-18 Xerox Corporation System, method and article of manufacture for providing an attribute system with primitive support of dynamic and evolvable roles in support of fluid and integrative application development
US20020026535A1 (en) * 2000-08-30 2002-02-28 Karur Srinivasan Method for phase oriented internet business agents
US6772157B2 (en) 2000-10-19 2004-08-03 General Electric Company Delegated administration of information in a database directory
US20020078365A1 (en) 2000-12-15 2002-06-20 International Business Machines Corporation Method for securely enabling an application to impersonate another user in an external authorization manager
US6792462B2 (en) 2001-01-16 2004-09-14 Netiq Corporation Methods, systems and computer program products for rule based delegation of administration powers
US7131000B2 (en) 2001-01-18 2006-10-31 Bradee Robert L Computer security system
US20030041076A1 (en) 2001-03-14 2003-02-27 Lucovsky Mark H. Schema-based services for identity-based access to calendar data
US7107610B2 (en) 2001-05-11 2006-09-12 Intel Corporation Resource authorization
US7698381B2 (en) * 2001-06-20 2010-04-13 Microsoft Corporation Methods and systems for controlling the scope of delegation of authentication credentials
US7031967B2 (en) 2001-08-06 2006-04-18 Sun Microsystems, Inc. Method and system for implementing policies, resources and privileges for using services in LDAP
US8015204B2 (en) 2001-10-16 2011-09-06 Microsoft Corporation Scoped access control metadata element
US7260831B1 (en) 2002-04-25 2007-08-21 Sprint Communications Company L.P. Method and system for authorization and access to protected resources
US7546633B2 (en) 2002-10-25 2009-06-09 Microsoft Corporation Role-based authorization management framework

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176771A (zh) * 2011-12-21 2013-06-26 无锡华润矽科微电子有限公司 芯片软件***中实现内核程序自动实时生成的***及方法
CN104137007A (zh) * 2012-03-02 2014-11-05 皇家飞利浦有限公司 用于针对楼宇自动化和控制***的访问判决评估的***和方法
CN104137007B (zh) * 2012-03-02 2017-01-18 皇家飞利浦有限公司 用于针对楼宇自动化和控制***的访问判决评估的***和方法
CN103713919A (zh) * 2012-10-01 2014-04-09 辉达公司 用于启动可调用函数的***和方法
CN103744673A (zh) * 2014-01-06 2014-04-23 北京乐动卓越科技有限公司 一种基于iOS平台的资源配置方法
CN106570035A (zh) * 2015-10-13 2017-04-19 北京国双科技有限公司 数据库授权的方法及装置
CN106570035B (zh) * 2015-10-13 2020-10-13 北京国双科技有限公司 数据库授权的方法及装置
CN114003963A (zh) * 2021-12-30 2022-02-01 天津联想协同科技有限公司 一种企业网盘下文件授权的方法、***、网盘及存储介质

Also Published As

Publication number Publication date
JP4718804B2 (ja) 2011-07-06
NO20043160L (no) 2005-02-28
AU2004203375A1 (en) 2005-03-17
IL162885A (en) 2009-11-18
CN1592230B (zh) 2013-01-02
RU2360368C2 (ru) 2009-06-27
US7827595B2 (en) 2010-11-02
SG109539A1 (en) 2005-03-30
KR101137049B1 (ko) 2012-04-23
IL162885A0 (en) 2005-11-20
US20050050354A1 (en) 2005-03-03
ZA200405489B (en) 2005-05-25
BRPI0403012A (pt) 2005-05-31
MXPA04007143A (es) 2005-03-31
MY163665A (en) 2017-10-13
CO5600217A1 (es) 2006-01-31
EP1510900B1 (en) 2012-10-24
NZ533955A (en) 2006-07-28
TWI336043B (en) 2011-01-11
KR20050022283A (ko) 2005-03-07
TW200516414A (en) 2005-05-16
JP2005078626A (ja) 2005-03-24
EP1510900A1 (en) 2005-03-02
CA2472982A1 (en) 2005-02-28
RU2004120673A (ru) 2006-01-10
HK1073709A1 (en) 2005-10-14

Similar Documents

Publication Publication Date Title
CN1592230A (zh) 受控资源的授权管理
CN1269337C (zh) 内容自适应服务控制方法
CN1138215C (zh) 用于归档和访问电子报文的数据处理***和方法
CN1678991A (zh) Web服务设备和方法
CN1773545A (zh) 域名购买的基于消息的网络配置
CN1577324A (zh) 文档管理方法和程序、记录介质和文档管理装置
CN1655145A (zh) 最优化行级别数据库安全的***和方法
CN1949763A (zh) 共享信息服务器***
CN1359489A (zh) 用于构筑建模工具的装置和方法
CN1706657A (zh) 印刷装置、控制印刷程序、记录控制印刷程序的记录媒体
CN1783083A (zh) 动态概要模块
CN1703921A (zh) 使用短消息服务的电子商务消息的方法与装置
CN1744036A (zh) 报告软件中支持定制图形表示的***和方法
CN1629871A (zh) 工作流管理设备及方法
CN1609795A (zh) 用于计算机平台的编程接口
CN1483278A (zh) 内容的目录服务***
CN1609794A (zh) 用于计算机平台的编程接口
CN1749997A (zh) 嵌入装置及其控制方法、实现该控制方法的程序和存储媒体
CN1501285A (zh) 排版***、排版程序和排版方法
CN101080737A (zh) 程序***易的自动授权
CN1703701A (zh) 用于管理门户服务器中的门户构件集合的方法和装置
CN1321923A (zh) 画面程序作成方法、记录媒体
CN1834889A (zh) 软件认证***和软件认证程序及软件认证方法
CN1700225A (zh) 利用网络提供招募/求职信息及其关联信息的匿名信息评价***
CN1609802A (zh) 用于管理许可的编程接口

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150513

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150513

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.