CN1877520A - 通过脚本的成员资格确定方法和系统 - Google Patents

通过脚本的成员资格确定方法和系统 Download PDF

Info

Publication number
CN1877520A
CN1877520A CNA2005100998339A CN200510099833A CN1877520A CN 1877520 A CN1877520 A CN 1877520A CN A2005100998339 A CNA2005100998339 A CN A2005100998339A CN 200510099833 A CN200510099833 A CN 200510099833A CN 1877520 A CN1877520 A CN 1877520A
Authority
CN
China
Prior art keywords
group
request
script
application program
membership
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.)
Pending
Application number
CNA2005100998339A
Other languages
English (en)
Inventor
D·麦克弗森
S·格特姆卡卡拉
S·S·卡达姆
吴晓红
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 Corp
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 CN1877520A publication Critical patent/CN1877520A/zh
Pending legal-status Critical Current

Links

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种确定组中的成员资格的方法包括接收确定元素是否为组成员的请求。该请求可由软件应用程序生成,其中,该应用程序向驻留在应用程序外部的脚本提供了至少一个参数。评估该脚本以及可任选的应用程序提供的参数,以确定组中的元素的成员资格。一般而言,该脚本是由与应用程序开发无关的管理员灵活地生成的。在评估之后,向应用程序发回响应,其中,该响应是组中的元素的成员资格的指示。该方法可任选地允许脚本访问外部数据源,以提供附加信息来确定成员资格。在本发明的某些应用中,成员资格的确定可用于访问确定目的。

Description

通过脚本的成员资格确定方法和系统
技术领域
本发明一般涉及软件编程领域,尤其涉及使用应用程序外部的脚本确定组中的元素的成员资格的领域。
背景技术
评估成员资格的传统方法是使用诸如列表等静态信息。在一种标准格式中,元素列表可表示一个组。例如,用户名列表可表示可被授予对一个或多个文件的访问权限的系统用户。然而,该列表可改变或变得广泛。例如,文件家族的授权用户列表可取决于若干因素而改变,诸如用户的位置、其相对于其它用户的位置、其雇佣状态、以及其知道包含在文件中的信息的需求。如果用户正在外国度假或任何其它安全相关规则,则期望对其拒绝访问。这类列表可取决于情况而按日或按小时变化,并且更新这类列表可能变得困难。这类列表可以是任何种类的元素的列表,如人名、产品、参数、日期、位置、服务、时间、材料、指令、价格等等。
如果应用程序需要对元素是否诸如在访问文件的示例中属于一个组的评估,则该应用程序可以用与该程序一起出厂的关于该组的约束来编程。例如,应用程序可以用一个组从8AM到5PM有效的信息来编程。在这一情况下,对该约束的任何改变可能需要程序员的服务来更新。这类静态列表或固定约束对于更新是不方便的,且在满足改变的成员资格事实方面是完全不灵活的。例如,当前没有方法来快速更新出厂的软件应用程序,使得程序员编辑能够负责基于组中的成员资格规则改变授权或访问决策的条件。
假设某些类型的静态列表的条件可以在运行时改变,则在开发时准备列表可能是不适当的。由此,需要一种动态的方法在运行时确定对应用程序的因素是否存在基于组或任务中的元素的成员资格。本发明用允许成员资格确定的更灵活实现的各种系统、方法和技术着眼于上述需求并解决了这些需求。
发明内容
本发明是一种动态地确定组或任务中的元素的成员资格的方法。元素可以是人、地点或物。作为一个示例,元素可以是组中的安全主体。在本发明的一个方面,对成员资格的评估发生在应用程序外部。在本实施例中,软件应用程序在请求解决关于组中的至少一个元素的成员资格的查询时可调用应用程序编程接口。评估引擎对该请求的解决包括脚本的处理。脚本是由管理员生成的指令列表,且是允许确定所述元素的成员资格的动态工具。脚本与调用要确定的应用程序相分离,因此脚本与应用程序无关。脚本可访问由应用程序所提供的参数,该参数帮助在运行时定义成员资格所得结果。由于成员资格可在运行时使用应用程序的运行时参数来确定,因此使用脚本的成员资格确定是高度灵活的。一旦确定了成员资格,则结果从评估引擎被传递回应用程序。
在另一实施例中,脚本也可访问系统数据或来自外部数据库的数据,以增加由评估引擎提供的信息。在这一情况下,脚本在确定元素对组的成员资格时,可要求数据库中可用的附加信息以及应用程序参数。
附图说明
当结合附图阅读时,可以更好地理解以上概述以及以下较佳实施例的详细描述。为说明本发明起见,附图中示出了本发明的示例性构造;然而,本发明不限于所揭示的具体方法和手段。附图中:
图1示出了具有本发明的各方面的系统的一个示例实施例;
图2示出了与本发明的各方面相一致的示例方法;以及
图3是示出其中可实现本发明的各方面的示例性计算环境的框图。
具体实施方式
本发明的示例性实施例
图1是本发明的示例实施例100。软件应用程序120通信上耦合至评估引擎130,以确定组中的元素的成员资格。应用程序110的用户界面允许用户输入对应用程序120的正确操作有用的某些运行时参数。在操作中,软件应用程序可能需要确定元素对组的成员资格。在一个实施例中,应用程序可访问确认应用程序接口(API)(未示出)来产生对成员资格确定的请求。该API产生请求124,并向评估引擎130提供用于确定请求124的参数122。
评估引擎130与应用程序120相分离。这一配置的一个益处是应用程序可以在不开发评估引擎代码的情况下开发和发行。这允许管理员开发帮助确定对应用程序所驻留的环境定制的成员资格的脚本。同样,由评估引擎130执行的脚本可使用从应用程序传递的运行时参数122,这些参数对于用户系统内的应用程序的使用是唯一的。
在一个实施例中,由评估引擎使用的脚本可以是来自华盛顿州雷蒙德市的Microsoft的VBScript或Jscript。脚本可与组或任务对象相关联。脚本可由软件管理员或软件开发者在编程上或通过管理用户界面150生成。脚本和相关联的组或任务可被储存在链接(155)到用户界面的持久授权策略存储140中。在一个实施例中,可开发应用程序120以支持确认API,该API调用评估引擎功能,并使用持久授权策略140来帮助确定成员资格请求。
在一个实施例中,请求可采用来自应用程序120的安全主体用户110的访问请求124的形式。当安全主体请求(115)对应用程序资源的访问权限时,应用程序120可使用访问确认API来确定该安全主体是否具有请求的访问权限。为实现这一过程,应用程序120调用访问确认API代码,并传递标识资源、安全主体以及可在脚本代码内使用的应用程序数据的数据参数。应用程序资源可以是对其寻求访问的项。例如,文件、目录、数据库或计算机系统。访问确认API可通过链接145检查持久授权策略140。访问确认API执行与评估引擎130相关联的脚本,以确定安全主体是否为相关联的组或任务的成员。该评估可包括应用程序专用参数122和/或例程。如果脚本评估确定安全主体是组或任务的成员,则访问确认API将返回结果信息126以描述安全主体对应用程序资源的访问权限,该访问权限对应于给予组或任务的访问权限。基于脚本的组或任务也可在管理员查询对给定安全主体的访问权限时由与管理员用户界面150相关联的管理API来评估。由此,管理员能够测试和确定其脚本的有效性。
在一个实施例中,一旦通过确认API来调用,脚本使用应用程序参数122在评估引擎中执行。为易于管理员的逻辑构造和开发,该脚本可以被表示为IF/THEN语句。脚本可请求对接口122的访问权限,该接口122访问具有可任选参数的外部数据库160。这些可任选参数可与运行时应用程序参数122一起使用,来确定组中的成员资格。
对于与应用程序相分离地保持的成员资格确定功能有许多应用程序。本发明可以找到对信贷的动态核查的应用程序。银行应用程序可能希望评估一个人的信贷价值。可由管理员编写脚本,该脚本本身具有诸如每日贷款利率和风险评估准则等变量。由此,应用程序可请求运行脚本的评估引擎确定给定候选者是否在可被批准借贷的人的组之内。一旦该个人的细节以参数的形式被传递到评估引擎,通过外部数据库来访问每日贷款利率。一旦做出了信贷评估,评估的结果可被返回到应用程序,用于信贷应用程序的进一步处理。
在一个示例实施例中,本地区县图书馆可能希望使用图书馆软件应用程序,该应用程序使用外部脚本来指示用户是否可以借出书籍。最初,图书馆员或用户可访问请求潜在图书借阅者身份或图书标题的应用程序。用户身份可包括诸如其年龄和居住地等信息。潜在借阅者或其它用户的许可可包括诸如对所请求的特定标题的有效性核查、相关书籍的列表以及用于授权以获得该书籍的借出过程等内容。资源包括本地区县图书馆中感兴趣的书籍或视频标题。图书馆的成员可包括诸如图书馆职员或图书馆创始人等某些合法用户,但是可通过由图书馆员或其它图书馆管理员确定的脚本来评估大量潜在借阅者。对成员资格的基于脚本的评估不排它地使用列表;相反,脚本定义了在运行时评估的成员资格的规则。因此,成员资格可如下确定:
Membership:
Legacy Members
<Books>
<Videos>
Legacy Members(合法成员)可以是列出诸如Bob Smith和Sally Hall等成员的数据库,他们是图书馆的创始人,且具有对图书馆所保持的资料的完全访问权限。关于那些潜在用户的请求可返回真,因为他们在数据库中列出。但是,本发明允许对其它潜在借阅者使用脚本,如下:
Books
Home=get borrower address
If home=a county residence,then return true,and no late fees
If home=a non county residence,then return true,assess mandatory fee
Videos
Home=get borrower address
If home=a county residence,then,return true
Else,return false
该图书馆员或管理员脚本允许常住居民(county residence)和非常住居民(noncounty residence)借出书籍(return true)。以上隐含的附加脚本嵌套允许不对常住居民进行滞纳金的评估(no late fees)。非本地常住居民也可借出书籍(returntrue),但是对其评估强制借阅费用(assess mandatory fee),因为他们不是区县常住居民。视频的脚本具有不同的规则。如果借阅者是区县常住居民(countyresidence),则该视频可被借出(return true)。但是对于借阅视频的区县常住居民的滞纳金没有专门的禁止。非区县常住完全不能借阅视频(return false)。本示例示出了通过本发明中的脚本编写可用的成员资格规则的灵活性。如果图书馆管理员判定视频可由非区县常住居民借阅,则借出引用程序无需改变,仅脚本需要改变。本领域的技术人员也可容易地看到,对于借出的书籍或视频,时间规则是如何就绪的。同样要注意的是,传统的组机制需要这些组的每日管理,因为他们要经受不断的改变。
在另一示例实施例中,在SQL表中储存项目的项目管理应用程序可使用本发明。特定任务中的用户可在每一项目上执行特定动作。每一项目可具有以下任务:开发、测试和项目规划,且每一个具有项目对象上的特定能力。任务成员资格储存在SQL中的项目字段的属性上。对开发、测试和项目规划创建授权规则,其每一个基于与项目管理应用程序分离地开发的可用脚本的结果分配成员资格。开发成员资格脚本可采用项目标识符作为参数,并以SQL查询对象。该脚本可访问项目SQL文件,以评估做出调用的用户是否可以具有访问权限。如果做出调用的用户在项目的开发字段中列出,则该脚本返回真。如果适当的项目文件上的开发字段不包含做出调用的用户的名字,则结果可返回假。然而,如果脚本也能够访问可核查做出调用的用户的身份并可能对开发者是次承包商且在某些验证规则下仍能被授予访问权限做出评估的算法,则该脚本可提供甚至更大的灵活性。使用脚本来帮助确定组中的成员资格的灵活性被证明在改变的运行时条件下是有用的。
图2依照本发明的各方面描述了示例方法200。从应用程序接收确定组中的元素的成员资格的请求(步骤210)。在一个实施例中,可由应用程序调用API来评估成员资格。应用程序可任选地向评估引擎传递一个或多个运行时参数。应用程序可传递这些运行时参数(步骤220),以更精确地指示主题资源、寻找验证成员资格的元素、或影响成员资格确定结果的变量。例如,元素可以是希望访问计算机资源的用户的名字,而参数变量可以是用户位置以及日时。
由管理员编写的、对应于控制元素对组的成员资格的规则的脚本用于对照所提供的资源评估和提供应用程序数据。在某些实施例中,被传递以供脚本评估的应用程序参数较佳地由数据库中可用的其它数据来增大。如果这些附加数据是必要的(步骤230),则访问外部数据库(步骤240),且可开始依照脚本的数据评估。依照应用程序传递的参数和可任选的附加信息来评估脚本(步骤250)。由此,使用运行时信息来使用管理员脚本对照期望的计算机资源动态地评估主题元素的成员资格。一旦评估完成,提供评估的结果(步骤260),它一般是真或假的指示。
示例性计算设备
图3和以下讨论旨在提供其中可实现本发明的各实施例的合适的计算环境的简要概括描述。尽管下文描述了通用计算机,但这只是一个单处理器示例,具有多个处理器的本发明的实施例可以用其它计算设备来实现,诸如具有网络/总线互操作性和交互的客户机。由此,本发明的实施例可在其中包含了极少或最少的客户机资源的联网主存服务的环境中实现,例如,其中客户机设备仅担当诸如放置在电器中的对象或其它计算设备和对象等网络/总线的接口的联网环境。本质上,可在其中储存数据或可从其中检索数据的任何地方是用于操作的期望的或合适的环境。
尽管并非所需,但本发明的各实施例也可通过由设备或对象的服务开发者使用的操作系统来实现,和/或包括在应用程序软件中。软件可在诸如客户机工作站、服务器或其它设备由一个或多个计算机执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。通常,程序模块的功能可如各实施例中所期望的组合或分布。此外,本领域的技术人员可以理解,本发明的各实施例可以用其它计算机配置来实践。适合使用的其它公知的计算系统、环境和/或配置包括,但不限于,个人计算机(PC)、自动取款机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网络PC、电器、灯、环境控制元件、小型机、大型机等等。本发明的各实施例也可以在分布式计算环境中实践,其中,任务由通过通信网络/总线或其它数据传输介质连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中,且客户机节点进而可作为服务器节点来运作。
图3示出了其中可实现本发明的实施例的合适的计算系统环境300的一个示例,尽管可以清楚,计算系统环境300仅是合适的计算环境的一个示例,并非对本发明的实施例的使用范围或功能提出任何局限。也不应将计算环境300解释为对示例性操作环境300中示出的任一组件或其组合具有任何依赖或需求。
参考图3,用于实现本发明的一个实施例的示例性系统包括计算机系统310形式的通用计算设备。计算机310的组件可包括,但不限于,处理单元320、系统存储器330以及将包括系统存储器的各类系统组件耦合至处理单元320的系统总线321。系统总线321可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线(也称为Mezzanine总线)。
计算机系统310通常包括各种计算机可读介质。计算机可读介质可以是可由计算机310访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、光盘只读存储器(CDROM)、可重写光盘(CD-RW)、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机310访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器330包括以易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)331和随机存取存储器(RAM)332。基本输入/输出系统333(BIOS)包括如在启动时帮助在计算机310内的元件之间传输信息的基本例程,通常储存在ROM 331中。RAM 332通常包含处理单元320立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图3示出了操作系统334、应用程序335、其它程序模块336和程序数据337。
计算机310也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图3示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器341、对可移动、非易失性磁盘352进行读写的磁盘驱动器351以及对可移动、非易失性光盘356,如CD ROM、CDRW、DVD或其它光介质进行读写的光盘驱动器355。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器341通常通过不可移动存储器接口,如接口340连接到系统总线321,磁盘驱动器351和光盘驱动器355通常通过可移动存储器接口,如接口350连接到系统总线321。
上文讨论并在图3示出的驱动器及其关联的计算机存储介质为计算机310提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图3中,示出硬盘驱动器341储存操作系统344、应用程序345、其它程序模块346和程序数据347。注意,这些组件可以与操作系统334、应用程序335、其它程序模块336和程序数据337相同,也可以与它们不同。这里对操作系统344、应用程序345、其它程序模块346和程序数据347给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘362和定位设备361(通常指鼠标、跟踪球或触摸板)向计算机310输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线321的用户输入接口360连接至处理单元320,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器391或其它类型的显示设备也通过接口,如视频接口390连接至系统总线121,该接口进而可与视频存储器(未示出)通信。除监视器391之外,计算机系统也可包括其它外围输出设备,如扬声器397和打印机396,它们通过输出外围接口395连接。
计算机310可以使用到一个或多个远程计算机,如远程计算机380的逻辑连接在网络化或分布式环境中操作。远程计算机380可以是个人计算机、服务器、路由器、网络PC、对等设备或其它普通网络节点,并通常包括许多或所有相对于计算机310所描述的元件,尽管在图3中仅示出了存储器存储设备381。图3描述的逻辑连接包括局域网(LAN)371和广域网(WAN)373,但也可包括其它网络/总线。这类网络环境常见于家庭、办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机310通过网络接口或适配器370连接至LAN 371。当在WAN网络环境中使用时,计算机310通常包括调制解调器372或用于通过WAN 373,如因特网建立通信的其它装置。调制解调器372可以是内置或外置的,可通过用户输入接口360或其它适当的机制连接至系统总线321。在网络化环境中,相对于计算机310所描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例,而非局限,图3示出远程应用程序385驻留在存储器设备381上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
鉴于个人计算活动与因特网的交汇,已经开发并且正在开发各种分布式计算框架。个人和商业用户同样地拥有用于应用程序和计算设备的无缝的互操作和启用web的接口,使得计算活动越来越面向web浏览器和网络。
例如,可从微软公司获得的MICROSOFT的.NET平台包括服务器、诸如基于web的数据存储等构件块服务、以及可下载设备软件。尽管此处的示例性实施例是结合驻留在计算设备上的软件来描述的,但本发明的实施例的一个或多个部分也可以通过操作系统、应用程序编程接口(API)或协处理器、显示对象和请求对象之间的“中间人”对象来实现,使操作可以由所有.NETTM的语言和服务,以及在其它分布式计算框架中执行、支持或访问。
如上所述,尽管本发明的示例性实施例是结合各种计算设备和网络体系结构来描述的,但底层的概念可应用于其中期望实现脚本化成员资格确定技术的任何计算设备或系统。由此,结合本发明的实施例所描述的方法和系统可应用于各种应用程序和设备。尽管此处选择了示例性编程语言、名字和示例来代表各种选择,然而这些语言、名字和示例并非旨在限制。本领域的普通技术人员可以理解,可以有许多提供实现本发明的实施例所实现的相同、相似或等效系统和方法的目标代码的方法。
此处所描述的各种技术可以结合硬件或软件,或在适当时用两者的组合来实现。由此,本发明的方法和装置,或其某些方面或部分,可采用包含在诸如软盘、CD-ROM、硬盘或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码被加载到诸如计算机等机器中并由其执行时,该机器变为用于实施本发明的装置。在可编程计算机上的程序代码执行的情况下,计算装置一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。可例如通过使用数据处理API或其类似物来利用本发明的实施例的信号处理服务的一个或多个程序较佳地用高级过程语言或面向对象的编程语言来实现,以与计算机进行通信。然而,如有需要,程序可以用汇编语言或机器语言来实现。在任何情况下,语言可以是已编译或已解释语言,并与硬件实现相组合。
尽管结合各附图的较佳实施例描述了本发明的各方面,然而可以理解,可使用类似的实施例或可对所描述的实施例做出修改和添加,来执行本发明的相同功能,而不偏离本发明。此外,应当强调,构想了各种计算机平台,包括手持式设备操作系统和其它应用程序专用操作系统,尤其是当无线联网设备的数量持续增长的时候。因此,所要求保护的本发明不限于任何单个实施例,而是相反,应当依照所附权利要求书的宽度和范围来解释。

Claims (20)

1.一种确定组中的成员资格的方法,所述方法包括:
从软件应用程序接收确定元素是否为组成员的运行时请求,所述请求由具有定义所述组的策略规则的评估引擎接收;
在接收到所述运行时请求之后,通过应用在所述应用程序外部维护的所述策略规则来评估所述组中的元素的成员资格,所述策略规则可由管理员用于与所述应用程序无关的修改;以及
向所述应用程序发送响应,其中,所述响应是所述组中的元素的成员资格的指示。
2.如权利要求1所述的方法,其特征在于,还包括:
访问对所述应用程序外部的数据库,以获得用于所述请求的评估的附加信息。
3.如权利要求1所述的方法,其特征在于,在接收到所述运行时请求之后,通过应用所述策略规则来评估所述组中的元素的成员资格包括使用由管理员维护的脚本来评估所述运行时请求,所述脚本对组中的元素定义了成员资格规则。
4.如权利要求3所述的方法,其特征在于,所述脚本包括具有至少一个声明性IF/THEN语句的脚本语言。
5.如权利要求1所述的方法,其特征在于,接收确定元素是否为组成员的运行时请求包括从所述应用程序接收具有至少一个参数的运行时请求,并且其中,评估所述组中的元素的成员资格包括评估所述策略规则以及所述至少一个参数。
6.如权利要求5所述的方法,其特征在于,从所述应用程序接收具有至少一个参数的运行时请求包括从所述应用程序接收确定用户是否具有访问许可的请求,并向评估引擎传递所述用户的参数。
7.如权利要求1所述的方法,其特征在于,向所述应用程序发送响应,其中,所述响应是所述组中的元素的成员资格的指示包括向请求访问确定的应用程序发送关于用户的访问授予和访问拒绝之一。
8.如权利要求1所述的方法,其特征在于,从软件应用程序接收确定元素是否为组成员的运行时请求包括由评估引擎通过由所述应用程序调用的应用程序编程接口接收所述运行时请求。
9.一种用于确定组中的元素的成员资格的系统,所述系统包括:
软件应用程序;
用于脚本的存储区域,所述脚本与所述应用程序相分离;
用于编辑所述脚本的接口;
用于执行所述脚本的评估引擎;以及
具有对存储器的访问的至少一个处理器,所述存储器具有指令,当所述指令被执行时,执行一种方法,包括:
从所述应用程序接收确定元素是否为组成员的请求,所述请求由具有定
义所述组的策略规则的所述评估引擎接收;
在接收所述请求之后,通过执行所述脚本评估所述组中的元素的成员资
格;以及
通过向所述应用程序提供所述组中的元素的成员资格的指示,来响应所
述请求。
10.如权利要求9所述的系统,其特征在于,还包括应用程序编程接口,它由所述应用程序访问来调用所述评估引擎的功能的。
11.如权利要求9所述的系统,其特征在于,还包括外部数据源,它由所述评估引擎访问来检索对确定组中的元素的成员资格有用的至少一个外部参数。
12.如权利要求9所述的系统,其特征在于,所述脚本包括具有至少一个IF/THEN语句的脚本语言。
13.如权利要求9所述的系统,其特征在于,接收确定元素是否为组成员的请求的所述方法步骤包括从所述应用程序接收具有至少一个参数的运行时请求,并且其中,评估所述组中的元素的成员资格包括评估所述策略规则以及所述至少一个参数。
14.如权利要求13所述的系统,其特征在于,从所述应用程序接收具有至少一个参数的请求的所述方法步骤包括从所述应用程序接收确定用户是否具有访问许可的请求,并向评估引擎传递所述用户的参数。
15.如权利要求9所述的系统,其特征在于,向所述应用程序发送响应,其中所述响应是所述组中的元素的成员资格的指示的所述方法步骤包括向请求访问确定的应用程序发送关于用户的访问授予和访问拒绝之一。
16.一种包括执行确定组中的元素的成员资格的方法的指令的计算机可读介质,所述方法包括:
从软件应用程序接收确定元素是否为组成员的请求,所述请求由具有定义所述组的策略规则的评估引擎接收;
在接收所述请求之后,通过执行与所述软件应用程序分离地维护、且可由管理员用于与所述软件应用程序无关的修改的脚本,来评估所述组中的元素的成员资格;以及
向所述软件应用程序发送响应,其中,所述响应是所述组中的元素的成员资格的指示。
17.如权利要求16所述的计算机可读介质,其特征在于,还包括以下步骤:
访问对所述应用程序外部的数据库,以获得用于所述请求的评估的附加信息。
18.如权利要求16所述的计算机可读介质,其特征在于,评估所述组中的元素的成员资格包括评估具有至少一个IF/THEN语句的脚本。
19.如权利要求16所述的计算机可读介质,其特征在于,从软件应用程序接收确定元素是否为组成员的请求的所述步骤包括由评估引擎通过由所述应用程序调用的应用程序编程接口来接收所述请求。
20.如权利要求16所述的计算机可读介质,其特征在于,向所述应用程序发送响应,其中,所述响应是所述组中的元素的成员资格的指示的所述步骤包括向请求访问确定的应用程序发送关于用户的访问授予和访问拒绝之一。
CNA2005100998339A 2005-06-10 2005-09-01 通过脚本的成员资格确定方法和系统 Pending CN1877520A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/149,591 US20060282428A1 (en) 2005-06-10 2005-06-10 Method and system for assignment of membership through script
US11/149,591 2005-06-10

Publications (1)

Publication Number Publication Date
CN1877520A true CN1877520A (zh) 2006-12-13

Family

ID=36592921

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100998339A Pending CN1877520A (zh) 2005-06-10 2005-09-01 通过脚本的成员资格确定方法和系统

Country Status (5)

Country Link
US (1) US20060282428A1 (zh)
EP (1) EP1736897A3 (zh)
JP (1) JP4726581B2 (zh)
KR (1) KR101201142B1 (zh)
CN (1) CN1877520A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109804363A (zh) * 2016-10-20 2019-05-24 微软技术许可有限责任公司 使用通过示例的格式修改的连接

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5076700B2 (ja) * 2007-07-23 2012-11-21 富士通株式会社 データベース検証方法及び装置
US8943476B2 (en) * 2011-06-14 2015-01-27 Google Inc. System and method to in-line script dependencies
US8839375B2 (en) * 2012-05-25 2014-09-16 Microsoft Corporation Managing distributed operating system physical resources
US9330276B2 (en) * 2012-12-28 2016-05-03 Sybase, Inc. Conditional role activation in a database
US20140317704A1 (en) * 2013-03-15 2014-10-23 Openpeak Inc. Method and system for enabling the federation of unrelated applications
KR102612851B1 (ko) * 2022-11-16 2023-12-13 쿠팡 주식회사 스크립트와 관련한 정보를 제공하는 전자 장치 및 그 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956507A (en) * 1996-05-14 1999-09-21 Shearer, Jr.; Bennie L. Dynamic alteration of operating system kernel resource tables
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6366913B1 (en) * 1998-10-21 2002-04-02 Netscape Communications Corporation Centralized directory services supporting dynamic group membership
US7219304B1 (en) * 2000-06-19 2007-05-15 International Business Machines Corporation System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US7051366B1 (en) * 2000-06-21 2006-05-23 Microsoft Corporation Evidence-based security policy manager
US7434257B2 (en) * 2000-06-28 2008-10-07 Microsoft Corporation System and methods for providing dynamic authorization in a computer system
JP2005503596A (ja) * 2001-01-29 2005-02-03 インターナショナル・ビジネス・マシーンズ・コーポレーション リソース共有システムと方法
US6988280B2 (en) * 2001-06-29 2006-01-17 International Business Machines Corporation System and method for enhancing authorization request in a computing device
WO2003036548A1 (en) 2001-10-24 2003-05-01 Bea Systems, Inc. System and method for portal page layout
US20030130953A1 (en) 2002-01-09 2003-07-10 Innerpresence Networks, Inc. Systems and methods for monitoring the presence of assets within a system and enforcing policies governing assets
US20040039594A1 (en) * 2002-01-09 2004-02-26 Innerpresence Networks, Inc. Systems and methods for dynamically generating licenses in a rights management system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109804363A (zh) * 2016-10-20 2019-05-24 微软技术许可有限责任公司 使用通过示例的格式修改的连接
CN109804363B (zh) * 2016-10-20 2023-05-30 微软技术许可有限责任公司 使用通过示例的格式修改的连接

Also Published As

Publication number Publication date
EP1736897A2 (en) 2006-12-27
EP1736897A3 (en) 2009-08-19
US20060282428A1 (en) 2006-12-14
JP2006344198A (ja) 2006-12-21
KR101201142B1 (ko) 2012-11-13
KR20060128598A (ko) 2006-12-14
JP4726581B2 (ja) 2011-07-20

Similar Documents

Publication Publication Date Title
US11763027B1 (en) Rules-based data access systems and methods
RU2586866C2 (ru) Дифференцирование набора признаков участником арендуемой среды и пользователем
US9576257B2 (en) Integrating data-handling policies into a workflow model
CN101663671B (zh) 对web服务资源的访问的授权
US8438543B2 (en) Discovering multi-component software products
US20220391887A1 (en) Systems and Methods for Maintenance of NFT Assets
JP4832595B2 (ja) マルチスレッド化されたビジネスプログラミングライブラリ
US20070033654A1 (en) Method, system and program product for versioning access control settings
CN1877520A (zh) 通过脚本的成员资格确定方法和系统
US9582776B2 (en) Methods and systems for providing a comprehensive view of it assets as self service inquiry/update transactions
US20070198423A1 (en) Method,system and computer program for metering usage of multiple instances of software components
US20160330273A1 (en) Network based application management
CN114363352A (zh) 基于区块链的物联网系统跨链交互方法
US20220101245A1 (en) Automated computerized identification of assets
Pereira et al. N-dimensional tensor factorization for self-configuration of software product lines at runtime
KR102192327B1 (ko) 스몰 데이터를 이용한 신뢰지수 평가 및 예측 방법
US10601835B2 (en) Resource sharing using device location tracking and blockchains
KR20200095900A (ko) 블록체인 기반 노드 리소스 대여를 이용한 리워드 서비스 제공 방법
Chua et al. Adopting hyperledger fabric blockchain for epcglobal network
US20150088729A1 (en) Online property reservation service provider for reserving properties for lease
US20220230238A1 (en) System and method for assessing risk
Kopylash An Ethereum-based Real Estate Application with Tampering-resilient Document Storage
US20240257024A1 (en) Centralized milestone recordation for robotic process automation systems
US11995202B2 (en) Computer system and data access control method
CN1739259A (zh) 提供基于rea模型的安全性的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20061213

C20 Patent right or utility model deemed to be abandoned or is abandoned