CN101187965A - 过滤对数据对象的访问 - Google Patents

过滤对数据对象的访问 Download PDF

Info

Publication number
CN101187965A
CN101187965A CNA2006101382009A CN200610138200A CN101187965A CN 101187965 A CN101187965 A CN 101187965A CN A2006101382009 A CNA2006101382009 A CN A2006101382009A CN 200610138200 A CN200610138200 A CN 200610138200A CN 101187965 A CN101187965 A CN 101187965A
Authority
CN
China
Prior art keywords
source code
equipment
user
code
request
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
CNA2006101382009A
Other languages
English (en)
Other versions
CN101187965B (zh
Inventor
陈建宇
简·格罗斯基
杨健
卢小青
宋杨
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Priority to CN2006101382009A priority Critical patent/CN101187965B/zh
Priority to US11/638,765 priority patent/US8151365B2/en
Priority to PCT/US2007/084744 priority patent/WO2008064049A2/en
Priority to GB0910339.1A priority patent/GB2457840B/en
Publication of CN101187965A publication Critical patent/CN101187965A/zh
Application granted granted Critical
Publication of CN101187965B publication Critical patent/CN101187965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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
    • 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/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及过滤对数据对象的访问。在一个实施例中,提供了代码服务器和编辑服务器。代码服务器存储源代码。用户不直接访问代码服务器。相反,使用了编辑服务器,其中用户可登录到编辑服务器并发送对编辑源代码的一些部分的请求。编辑服务器随后将针对源代码的被请求部分向代码服务器发送请求。不同用户对代码的一些部分可能具有不同的访问权限。当从编辑服务器接收到请求时,如果代码服务器确定请求该部分源代码的用户对其没有访问权限,则代码服务器不允许该部分代码被访问。但是,如果用户拥有访问权限,则该部分源代码被取得并被发送到编辑服务器。用户随后可以在编辑服务器上编辑源代码。

Description

过滤对数据对象的访问
技术领域
本发明的实施例一般地涉及软件开发,更具体而言涉及过滤对被开发的源代码的一些部分的访问。
背景技术
在软件开发周期中,源代码通常是由许多不同的团队开发的。不同的团队可能负责源代码的不同部分。随着软件程序变得更加复杂,生成的源代码变得非常复杂和庞大。
源代码可在开发过程期间被构建(build)。这可能将源代码文件转换为可执行代码。构建可以周期性地发生,例如每日发生,或在任何其他时间发生。构建通常编译和链接源代码中的各种独立的文件。为了编译文件并将文件链接在一起,源代码通常被存储在同一服务器上。编辑和编译也在同一服务器上执行,以使文件能被构建在一起。从而,编辑源代码的用户可以同时看到所有源代码。这可能允许不同团队访问源代码的一些部分,而这些团队可能并没有在开发这些部分。当知识产权受到保护时,这就可能是不合需要的了。例如,某个组织可能不希望一些团队能够查看源代码的其他部分。
发明内容
根据本发明的第一技术方案,提供了一种方法,包括:在第一设备处接收来自第二设备的对存储在所述第一设备上的源代码的一部分的请求,其中用户通过所述第二设备提交所述请求;确定与所述请求相关联的用户是否被授权访问来自所述第一设备的所述源代码的所述部分;取得所述源代码的所述部分;将所述源代码的所述部分发送到所述第二设备,其中所述第二设备允许对所述源代码的所述部分进行编辑,并且所述源代码的所述部分在所述第一设备上是不可编辑的;在所述第一设备处,接收来自所述第二设备的所述源代码的经编辑的部分;以及存储所述源代码的所述经编辑的部分。
根据本发明的第二技术方案,提供了一种方法,包括:在第一设备处接收对存储在第二设备上的源代码的一部分的用户请求;生成对存储在所述第二设备上的所述源代码的所述部分的代码请求;如果所述第二设备确定与所述用户请求相关联的用户被授权访问所述源代码的所述部分,则接收来自所述第二设备的所述源代码的所述部分;允许通过所述第一设备编辑所述源代码的所述部分,其中所述源代码在所述第二设备上是不可编辑的;以及在编辑之后将所述源代码的经编辑的部分发送到所述第二设备。
根据本发明的第三技术方案,提供了一种装置,包括:一个或多个处理器;以及编码在一个或多个有形介质中、供所述一个或多个处理器执行的逻辑,所述逻辑在被执行时可操作以用于:在第一设备处接收来自第二设备的对存储在所述第一设备上的源代码的一部分的请求,其中用户通过所述第二设备提交所述请求;确定与所述请求相关联的用户是否被授权访问来自所述第一设备的所述源代码的所述部分;取得所述源代码的所述部分;将所述源代码的所述部分发送到所述第二设备,其中所述第二设备允许对所述源代码的所述部分进行编辑,并且所述源代码的所述部分在所述第一设备上是不可编辑的;在所述第一设备处,接收来自所述第二设备的所述源代码的经编辑的部分;以及将所述源代码的所述经编辑的部分存储在所述源代码中。
根据本发明的第四技术方案,提供了一种装置,包括:一个或多个处理器;以及编码在一个或多个有形介质中、供所述一个或多个处理器执行的逻辑,所述逻辑在被执行时可操作以用于:在第一设备处接收对存储在第二设备上的源代码的一部分的用户请求;生成对存储在所述第二设备上的所述源代码的所述部分的代码请求;如果所述第二设备确定与所述用户请求相关联的用户被授权访问所述源代码的所述部分,则接收来自所述第二设备的所述源代码的所述部分;允许通过所述第一设备编辑所述源代码的所述部分,其中所述源代码在所述第二设备上是不可编辑的;以及在编辑之后将所述源代码的经编辑的部分发送到所述第二设备。
根据本发明的第五技术方案,提供了一种装置,包括:用于在第一设备处接收来自第二设备的对存储在所述第一设备上的源代码的一部分的请求的装置,其中用户通过所述第二设备提交所述请求;用于确定与所述请求相关联的用户是否被授权访问来自所述第一设备的所述源代码的所述部分的装置;用于取得所述源代码的所述部分的装置;用于将所述源代码的所述部分发送到所述第二设备的装置,其中所述第二设备允许对所述源代码的所述部分进行编辑,并且所述源代码的所述部分在所述第一设备上是不可编辑的;用于在所述第一设备处,接收来自所述第二设备的所述源代码的经编辑的部分的装置;以及用于存储所述源代码的所述经编辑的部分的装置。
根据本发明的第六技术方案,提供了一种装置,包括:用于在第一设备处接收对存储在第二设备上的源代码的一部分的用户请求的装置;用于生成对存储在所述第二设备上的所述源代码的所述部分的代码请求的装置;用于在所述第二设备确定与所述用户请求相关联的用户被授权访问所述源代码的所述部分的情况下接收来自所述第二设备的所述源代码的所述部分的装置;用于允许通过所述第一设备编辑所述源代码的所述部分的装置,其中所述源代码在所述第二设备上是不可编辑的;以及用于在编辑之后将所述源代码的经编辑的部分发送到所述第二设备的装置。
附图说明
图1示出用于管理源代码的示例性系统。
图2示出图1所示系统的更详细示例。
图3示出用于控制对源代码的访问的方法的示例。
图4示出用于确定用户是否被授权访问来自代码服务器的源代码的一部分的示例性方法。
具体实施方式
概述
在一个实施例中,提供了代码服务器和编辑服务器。代码服务器存储源代码。用户不直接访问代码服务器。相反,使用了编辑服务器,其中用户可登录到编辑服务器并发送要编辑源代码的一些部分的请求。编辑服务器随后将针对被请求的那部分源代码向代码服务器发送请求。
不同用户对代码的一些部分可能具有不同的访问权限。例如,第一用户可能能够访问代码的第一部分,而第二用户可能能够访问代码的第二部分,但反过来就不行。当从编辑服务器接收到请求时,如果代码服务器确定请求该部分源代码的用户对其没有访问权限,则代码服务器不允许该部分代码被访问。但是,如果用户拥有访问权限,则该部分源代码被取得并被发送到编辑服务器。用户随后可以在编辑服务器上编辑源代码。
当用户完成编辑源代码时,编辑服务器将经编辑的源代码发送回代码服务器。代码服务器随后将该部分源代码存储回源代码中。上述过程被执行,以使源代码仍能被构建/编译。即使一些部分被发送到编辑服务器以便编辑,源代码目录也被维护。经编辑的源代码随后被存储回目录中,以使源代码能够与经编辑的代码构建在一起。
示例性实施例
图1示出用于管理源代码的示例性系统100。如图所示,提供了代码服务器102、编辑服务器104、存储装置106和用户设备108。
代码服务器102可以是任何计算设备。例如,代码服务器102可以是服务器。在其他特定实施例中,代码服务器102可包括存储系统、大型机或任何其他计算设备。
代码服务器102包括源代码。在一个实施例中,源代码可被存储在存储装置106中的目录或文件系统中。源代码可以是任何软件代码。例如,源代码可包括需要被构建的代码。例如,构建源代码包括将源代码中的文件编译和链接成可执行形式。本领域的技术人员将会意识到各种构建源代码的方法和源代码的不同形式。
编辑服务器104可以是任何计算设备,例如服务器。此外,在其他实施例中,编辑服务器104可以是大型机、工作站、个人计算机或任何其他计算设备。
编辑服务器104和代码服务器102可以是相分离的设备。在这种情况下,用户需要使用编辑服务器104来与代码服务器102交互。但是,将会理解,编辑服务器104和代码服务器102可以是同一设备的不同部分,但是被分开来,以使用户无法直接访问代码服务器102。
用户设备108是用户用来访问编辑服务器104的设备。在一个实施例中,用户设备108包括个人计算机、笔记本计算机、工作站等等。
用户设备108可以与各种用户相关联,其中用户可被分成工作组。工作组可以是具有相同的访问权限或许可的用户组。例如,某一组可具有第一访问权限,而另一组可具有第二访问权限。这些访问权限可允许访问源代码的不同部分。
虽然针对用户组描述了工作组,但是将会理解,工作组中的不同用户可具有不同的权限。例如,所有用户的权限可被单独定制。或者,可通过将用户细分为各种工作组来简化该过程。
本发明的实施例限制对源代码的访问。此外,用户不直接从代码服务器102访问源代码。相反,请求被发送到编辑服务器104。编辑服务器104随后发送请求到代码服务器102,代码服务器102随后可确定用户的访问权限。如果用户被允许访问被请求的代码部分,则代码被取得并被发送到编辑服务器104。用户随后可利用编辑服务器104编辑该部分代码。
当用户完成编辑源代码时,编辑服务器104可将经编辑的源代码发送回代码服务器102,代码服务器102随后可重新存储源代码中经编辑的那部分源代码。
图2示出系统的更详细示例。如图所示,代码服务器102包括代理202、配设器(provisioner)204和存储装置106。编辑服务器104包括请求生成器206、代码接收器208和代码发送器210。
请求生成器206接收来自用户的请求。例如,用户可使用用户设备108来发送对代码的一部分的请求。在一个实施例中,用户可利用编辑服务器104浏览源代码的目录。例如,存储在代码服务器102上的源代码的目录可被复制在编辑服务器104上。当用户需要源代码的一部分(例如一个文件)时,用户可浏览以寻找该文件,然后发送请求到请求生成器206。请求生成器206随后生成针对代码服务器102的对该部分代码的请求。该请求可标识代码的一部分,例如一个文件(或多个文件),并且还包括关于正在请求源代码的用户的信息。
关于用户的信息可包括用户标识符、用户关联的工作组、用户正操作的产品、用户正操作的项目等等。该信息被用于确定该用户被授权访问存储在代码服务器102上的源代码的哪些部分。
也可以使用任何安全性协议来确保该请求的安全。例如,可利用安全壳(ssh)来从请求生成器206向代理202发送请求。此外,也可使用其他确保请求安全的方法,例如使用证书、口令等等。
代理202接收请求,然后认证请求。认证可包括设备认证和用户认证。例如,代理202可认证已被用于对请求加密的密钥。认证可确保请求是由能够请求访问源代码的一些部分的经授权的设备所发送的。用户认证可通过登录名和口令、公钥、私钥、证书来认证。
配设器204是通过管理员配设的,并且被用于确定对用户的授权。在认证之后,配设器204可使用经认证的信息(例如用户名)来确定访问权限。例如,可为每个用户或工作组配设访问过滤器。不同的工作组可被给予不同的授权,这些授权允许对源代码的不同部分的访问。另外,代理202可检测对于包括在请求中的产品用户是否被列在授权用户列表中,确定请求是否在项目范围中,等等。
配设器204确定用户的访问过滤器并将其应用到请求。如果被请求的那部分代码在访问过滤器中作为用户可访问的一部分代码被找到,则请求可被批准。如果访问过滤器表明用户未被授权访问被请求的那部分代码,则配设器204可拒绝该请求。在拒绝请求的情况下,代理202将指示请求被拒绝的消息发送回请求生成器206。随后可向用户发送表明用户的请求被拒绝的消息。
如果用户被授权访问该部分源代码,则代理202从存储装置106取得该部分源代码。随后与编辑服务器104之间建立经加密的会话。在经加密的会话中,代理202将该部分源代码传送到代码接收器208。例如,在经加密的会话中可传送任何数目源代码文件。
在传送之后,用户可从编辑服务器104查看、修改和编辑源代码。例如,可从编辑服务器104访问文件。在一个实施例中,设备108使用虚拟终端(例如VNC)来直接在设备104上查看/编辑源代码。在另一实施例中,用户可使用用户设备108-1来下载该部分源代码。用户随后可在用户设备108-1上编辑、查看和修改该源代码。编辑服务器104从而允许在源代码被存储在其上时编辑源代码,或者通过下载源代码来编辑源代码。代码服务器102不允许编辑源代码,并且只可将其发送到代码服务器102,以便代码服务器102能够允许编辑。
当用户完成对该部分源代码的操作时,代码发送器210可与代码服务器102之间建立另一个经加密的会话。在该会话中,代码发送器210将经编辑的源代码发送回代理202。
例如,经修改的源代码文件被从编辑服务器104传送到代码服务器102。代理202随后将经编辑的那部分源代码存储回存储在存储装置106中的源代码中。例如,经编辑的文件可取代在源代码中找到的相同文件。
因此,提供了源代码的编辑和存储的分离。在第一设备上存储源代码,而在第二设备上允许编辑。在第一设备上不允许编辑。这确保了源代码的一些部分可被分开,并且访问可被限于某些部分。从而通过访问的分离和限制保护了知识产权(IP)。
与文本文档不同,源代码不是最终产品的最终形式。为了使源代码“可用”,需要向源代码应用构建过程,该过程将源代码变换为随后将在另一设备上执行的机器语言。例如,从源代码到机器语言的这一变换被称为“编译过程或构建过程”。该过程可能需要来自项目代码库的所有或部分源代码。例如,构建可能需要.h头文件。构建出的二进制文件可被从代码服务器102传送到编辑服务器104,以便调试、封装等等。存储装置106中的源代码可在任何时间被构建。即使源代码的一部分已被检验,原始源代码(即未被编辑的那部分)也可被构建。但是,一旦经编辑的那部分源代码被存储在存储装置106中,则构建源代码的命令就可能被发送。在一个实施例中,可远程地从编辑服务器104向代码服务器102发送请求。
在构建中,源代码中的各种文件可能是独立的,并且为了构建文件,其他独立文件可能需要被访问。但是,某些用户可能没有对从属文件的访问权限。因此,传统上,用户将不得不访问所有这些文件。但是,在此情况下,特定实施例允许用户访问一个文件,但由于所有文件都被存储在代码服务器102上,因此该文件可被构建,而其中用户不能访问的其他文件也能被用在构建中。
构建可以进行,但用户可能没有编辑独立文件。这保持了对IP信息的保护,但也允许了构建的执行。
图3示出用于控制对源代码的访问的方法的示例。在步骤302中,编辑服务器104接收对源代码的一部分的请求。该请求可能是从用户接收到的。
在步骤304中,编辑服务器104确定关于用户的信息。例如,该信息可以是用户身份、与用户相关联的工作组等等。
在步骤306中,编辑服务器104生成对该部分源代码的请求。
在步骤308中,编辑服务器104与代码服务器102建立经加密的会话。经加密的会话可利用任何加密方法来建立。
在步骤310中,编辑服务器104在经加密的会话中发送请求。
在步骤312中,编辑服务器104接收来自代码服务器102的响应。如果用户未被授权访问该部分源代码,则该响应可能是对请求的拒绝。此外,如果用户被授权访问该部分源代码,则该响应可能是用户所请求的那部分源代码。
图4示出用于确定用户是否被授权访问来自代码服务器102的源代码的一部分的示例性方法。在步骤402中,代码服务器102在经加密的会话中接收对代码的一部分的请求。该请求包括关于提交请求的用户的信息。
在步骤404中,代码服务器102认证用户。在此情况下,代码服务器102确定请求是有否有效。
在步骤406中,代码服务器102确定对用户的授权。例如,对于用户所处的工作组,该工作组可能可以访问代码的不同部分。代码服务器102确定被请求的那部分代码是否是用户被授权访问的源代码的一部分。这是基于过滤器或任何其他方法来完成的。
如果用户未被授权,则代码服务器102返回指示用户未被授权访问该部分代码的消息。
如果用户被授权,则在步骤410中,该部分源代码被从存储装置106取得。
在步骤412中,与编辑服务器104之间的经加密的会话被建立,并且该部分源代码被发送到编辑服务器104。
特定实施例划分源代码,以便可访问来自代码服务器102的源代码的不同部分。随后可在编辑服务器104上查看、修改和编辑代码。从而,用户不能直接访问代码服务器102。这允许了控制代码服务器102上的源代码,但也允许了用户修改其被允许访问的源代码的一些部分。此外,没有改变下层操作系统,从而可对存储在代码服务器102上的源代码执行构建。
虽然已经参考其特定实施例描述了本发明,但是这些实施例只是说明性,而不是要限制本发明。例如,代码和编辑服务器是虚拟服务器。它们不需要由硬件分界。例如,编辑和代码服务器可经由虚拟化程序(例如vmware)在同一物理服务器上运行。此外,代码服务器可以是逻辑上被联合在一起以向用户呈现为一个服务器的外观的一个或多个服务器。
可使用任何合适的编程语言来实现本发明的实施例的例程,包括C、C++、Java、汇编语言,等等。可采用不同的编程技术,例如过程性的或面向对象的。例程可在单个处理设备或多个处理器上执行。虽然步骤、操作或计算可能是以特定顺序给出的,但是在不同实施例中该顺序可被改变。在一些实施例中,在说明书中示为顺序性的多个步骤可以同时被执行。这里描述的操作序列可被诸如操作系统、内核之类的另一进程中断、暂停或以其他方式控制。例程可工作在操作系统环境中,或充当占用系统处理的全部或大部分的独立例程。功能可在硬件、软件或两者的结合中被执行。除非另有声明,否则功能可全部或部分被手工执行。
在这里的描述中,提供了许多具体细节,例如组件和/或方法的示例,以便充分理解本发明的实施例。但是,相关领域的技术人员将会认识到,没有一个或多个具体细节或者利用其他装置、系统、组合件、方法、组件、材料、部件和/或类似物也能实现本发明的实施例。在其他情况下,没有具体示出或详细描述公知的结构、材料或操作,以避免模糊本发明的实施例的各个方面。
用于本发明实施例的“计算机可读介质”可以是能够包含、存储、传输、传播或传送供指令执行系统、装置、系统或设备使用或联系指令执行系统、装置、系统或设备使用的程序的任何介质。计算机可读介质例如可以是(但不限于)电子、磁、光、电磁、红外或半导体系统、装置、系统、设备、传播介质或计算机存储器。
本发明的实施例可以软件或硬件或两者的结合中的控制逻辑的形式来实现。控制逻辑可被存储在诸如计算机可读介质这样的信息存储介质中,作为适合于指导信息处理设备执行本发明实施例中公开的一组步骤的多个指令。基于这里提供的公开和教导,本领域的普通技术人员将会意识到实现本发明的其他方式和/或方法。
“处理器”或“进程”包括处理数据、信号或其他信息的任何人类、硬件和/或软件系统、机构或组件。处理器可包括具有通用中央处理单元的系统、多个处理单元、用于实现功能的专用电路或其他系统。处理不需要局限于地理位置,或具有时间限制。例如,处理器可“实时地”、“离线地”、以“成批模式”等执行其功能。处理的一些部分可在不同时间和不同位置由不同(或相同)处理系统执行。
在本说明书中提到“一个实施例”、“实施例”或“特定实施例”是指联系该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中,但不一定被包括在所有实施例中。从而,在本说明书中各处相应出现的短语“在一个实施例中”、“在实施例中”或“在特定实施例中”不一定是指同一实施例中。此外,本发明的任何特定实施例的特定特征、结构或特性可以以任何合适的方式与一个或多个其他实施例相结合。要注意,考虑到这里的教导可对这里描述和说明的本发明的实施例进行其他变化和修改,并且这些变化和修改被认为是本发明的精神和范围的一部分。
可通过利用编程的通用数字计算机、利用专用集成电路、可编程逻辑器件、现场可编程门阵列、光、化学、生物、量子或纳米工程系统、组件和机构来实现本发明的实施例。一般来说,本发明实施例的功能可由本领域已知的任何手段来实现。可以使用分布式或联网系统、组件和电路。数据的通信或传送可以是有线的、无线的或通过任何其他手段。
还将意识到,附图中示出的元件中的一个或多个也可以以更分离或集成的方式来实现,或者甚至在某些情况下被去除或被变为不可工作,如果根据特定应用这样做有用的话。实现可被存储在机器可读介质中的程序或代码以允许计算机执行上述方法中的任何一种,也是处于本发明的精神和范围之内的。
此外,除非另外具体指出,否则附图中的任何信号箭头应当被示为只是示例性的,而不是限制性的。此外,除非另外指明,否则这里使用的术语“或”一般是想要表示“和/或”。组件或步骤的组合也将被认为是已被指出,其中由于给予分离或组合的能力不清楚,因此术语被预见。
除非上下文另有清楚规定,否则这里的描述和所附权利要求中所使用的“a”、“an”和“the”包括复数指代。此外,除非上下文另有清楚规定,否则这里的描述和所附权利要求中使用的“在...中(in)”包括“在...中(in)”和“在...上(on)”。
以上对本发明的图示实施例的描述,包括摘要中描述的内容,并不想要是毫无遗漏的或者将本发明限制到这里公开的确切形式。虽然这里仅出于说明目的描述了本发明的特定实施例和示例,但是正如相关领域的技术人员将会认识和意识到的,在本发明的精神和范围内,各种等同的修改都是可能的。如上所述,可在考虑到以上对图示实施例的描述的情况下对本发明作出这些修改,并且这些修改将被包括在本发明的精神和范围内。
从而,虽然已经参考本发明的特定实施例描述了本发明,但是前述公开中预期了多种修改、各种变化和替换,并且将会意识到,在一些情况下,将使用本发明实施例的一些特征而不相应地使用其他特征,而不会脱离所阐述的本发明的范围和精神。因此,可以作出许多修改,以使特定情形或材料适应于本发明的实质范围和精神。希望本发明不被局限于所附权利要求中使用的特定术语,和/或作为被认为是用于实现本发明的最佳模式而公开的特定实施例,相反,本发明将会包括落在所附权利要求的范围内的任何和所有实施例和等同物。

Claims (22)

1.一种方法,包括:
在第一设备处接收来自第二设备的对存储在所述第一设备上的源代码的一部分的请求,其中用户通过所述第二设备提交所述请求;
确定与所述请求相关联的用户是否被授权访问来自所述第一设备的所述源代码的所述部分;
取得所述源代码的所述部分;
将所述源代码的所述部分发送到所述第二设备,其中所述第二设备允许对所述源代码的所述部分进行编辑,并且所述源代码的所述部分在所述第一设备上是不可编辑的;
在所述第一设备处,接收来自所述第二设备的所述源代码的经编辑的部分;以及
存储所述源代码的所述经编辑的部分。
2.如权利要求1所述的方法,还包括认证来自所述第二设备的所述请求。
3.如权利要求1所述的方法,其中确定与所述请求相关联的用户是否被授权访问所述源代码的所述部分的步骤包括:
确定与所述用户相关联的用户信息;以及
利用所述信息来确定所述用户是否被授权访问所述源代码的所述部分。
4.如权利要求1所述的方法,还包括提供对所述源代码的所述部分的构建,其中所述源代码中所述用户未被授权访问的第二部分在所述构建中被使用。
5.如权利要求1所述的方法,其中所述源代码在所述第一设备上被构建但不被编辑,并且所述第二设备允许对所述源代码的所述部分进行编辑。
6.一种方法,包括:
在第一设备处接收对存储在第二设备上的源代码的一部分的用户请求;
生成对存储在所述第二设备上的所述源代码的所述部分的代码请求;
如果所述第二设备确定与所述用户请求相关联的用户被授权访问所述源代码的所述部分,则接收来自所述第二设备的所述源代码的所述部分;
允许通过所述第一设备编辑所述源代码的所述部分,其中所述源代码在所述第二设备上是不可编辑的;以及
在编辑之后将所述源代码的经编辑的部分发送到所述第二设备。
7.如权利要求6所述的方法,还包括确定包括在所述代码请求中的与所述用户相关联的用户信息,以确定所述用户是否被授权访问所述源代码的所述部分。
8.如权利要求7所述的方法,其中所述用户信息包括与所述用户相关联的工作组,并且所述工作组与所述工作组中的用户可访问的源代码的一些部分相关联。
9.如权利要求6所述的方法,其中所述源代码在所述第二设备上被构建但不被编辑,并且所述第一设备允许对所述源代码的所述部分进行编辑。
10.如权利要求6所述的方法,还包括:
与所述第二设备之间建立经加密的会话;以及
在所述经加密的会话中发送所述代码请求。
11.一种装置,包括:
一个或多个处理器;以及
编码在一个或多个有形介质中的供所述一个或多个处理器执行的逻辑,所述逻辑在被执行时可操作以用于:
在第一设备处接收来自第二设备的对存储在所述第一设备上的源代码的一部分的请求,其中用户通过所述第二设备提交所述请求;
确定与所述请求相关联的用户是否被授权访问来自所述第一设备的所述源代码的所述部分;
取得所述源代码的所述部分;
将所述源代码的所述部分发送到所述第二设备,其中所述第二设备允许对所述源代码的所述部分进行编辑,并且所述源代码的所述部分在所述第一设备上是不可编辑的;
在所述第一设备处,接收来自所述第二设备的所述源代码的经编辑的部分;以及
将所述源代码的所述经编辑的部分存储在所述源代码中。
12.如权利要求11所述的装置,其中所述逻辑在被执行时还可操作以用于认证来自所述第二设备的所述请求。
13.如权利要求11所述的装置,其中所述逻辑在被执行时还可操作以用于:
确定与所述用户相关联的用户信息;以及
利用所述信息来确定所述用户是否被授权访问所述源代码的所述部分。
14.如权利要求11所述的装置,其中所述逻辑在被执行时还可操作以用于提供对所述源代码的所述部分的构建,其中所述源代码中所述用户未被授权访问的第二部分在所述构建中被使用。
15.如权利要求11所述的装置,其中所述源代码在所述第一设备上被构建但不被编辑,并且所述第二设备允许对所述源代码的所述部分进行编辑。
16.一种装置,包括:
一个或多个处理器;以及
编码在一个或多个有形介质中的供所述一个或多个处理器执行的逻辑,所述逻辑在被执行时可操作以用于:
在第一设备处接收对存储在第二设备上的源代码的一部分的用户请求;
生成对存储在所述第二设备上的所述源代码的所述部分的代码请求;
如果所述第二设备确定与所述用户请求相关联的用户被授权访问所述源代码的所述部分,则接收来自所述第二设备的所述源代码的所述部分;
允许通过所述第一设备编辑所述源代码的所述部分,其中所述源代码在所述第二设备上是不可编辑的;以及
在编辑之后将所述源代码的经编辑的部分发送到所述第二设备。
17.如权利要求16所述的装置,其中所述逻辑在被执行时还可操作以用于确定包括在所述代码请求中的与所述用户相关联的用户信息,以确定所述用户是否被授权访问所述源代码的所述部分。
18.如权利要求17所述的装置,其中所述用户信息包括与所述用户相关联的工作组,并且所述工作组与所述工作组中的用户可访问的源代码的一些部分相关联。
19.如权利要求16所述的装置,其中所述源代码在所述第二设备上被构建但不被编辑,并且所述第一设备允许对所述源代码的所述部分的编辑。
20.如权利要求16所述的装置,其中所述逻辑在被执行时还可操作以用于:
与所述第二设备之间建立经加密的会话;以及
在所述经加密的会话中发送所述代码请求。
21.一种装置,包括:
用于在第一设备处接收来自第二设备的对存储在所述第一设备上的源代码的一部分的请求的装置,其中用户通过所述第二设备提交所述请求;
用于确定与所述请求相关联的用户是否被授权访问来自所述第一设备的所述源代码的所述部分的装置;
用于取得所述源代码的所述部分的装置;
用于将所述源代码的所述部分发送到所述第二设备的装置,其中所述第二设备允许对所述源代码的所述部分进行编辑,并且所述源代码的所述部分在所述第一设备上是不可编辑的;
用于在所述第一设备处,接收来自所述第二设备的所述源代码的经编辑的部分的装置;以及
用于存储所述源代码的所述经编辑的部分的装置。
22.一种装置,包括:
用于在第一设备处接收对存储在第二设备上的源代码的一部分的用户请求的装置;
用于生成对存储在所述第二设备上的所述源代码的所述部分的代码请求的装置;
用于在所述第二设备确定与所述用户请求相关联的用户被授权访问所述源代码的所述部分的情况下,接收来自所述第二设备的所述源代码的所述部分的装置;
用于允许通过所述第一设备编辑所述源代码的所述部分的装置,其中所述源代码在所述第二设备上是不可编辑的;以及
用于在编辑之后将所述源代码的经编辑的部分发送到所述第二设备的装置。
CN2006101382009A 2006-11-16 2006-11-16 用于过滤对数据对象的访问的方法和装置 Active CN101187965B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2006101382009A CN101187965B (zh) 2006-11-16 2006-11-16 用于过滤对数据对象的访问的方法和装置
US11/638,765 US8151365B2 (en) 2006-11-16 2006-12-13 Filtering access to data objects
PCT/US2007/084744 WO2008064049A2 (en) 2006-11-16 2007-11-15 Filtering access to data objects
GB0910339.1A GB2457840B (en) 2006-11-16 2007-11-15 Filtering access to data objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101382009A CN101187965B (zh) 2006-11-16 2006-11-16 用于过滤对数据对象的访问的方法和装置

Publications (2)

Publication Number Publication Date
CN101187965A true CN101187965A (zh) 2008-05-28
CN101187965B CN101187965B (zh) 2010-12-15

Family

ID=39418216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101382009A Active CN101187965B (zh) 2006-11-16 2006-11-16 用于过滤对数据对象的访问的方法和装置

Country Status (3)

Country Link
US (1) US8151365B2 (zh)
CN (1) CN101187965B (zh)
GB (1) GB2457840B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179135A (zh) * 2013-04-19 2013-06-26 网宿科技股份有限公司 基于ssh中转机的远程管理方法
CN109814889A (zh) * 2019-01-30 2019-05-28 北京百度网讯科技有限公司 用于更新源代码库的方法和装置
CN110457040A (zh) * 2018-05-08 2019-11-15 腾讯科技(深圳)有限公司 用于源代码分布式构建的方法和装置
CN111625782A (zh) * 2020-05-25 2020-09-04 杭州安恒信息技术股份有限公司 源码的访问权限控制方法、装置、计算机设备和存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080301631A1 (en) * 2007-03-01 2008-12-04 The Boeing Company Human transparency paradigm
JP4952600B2 (ja) * 2008-02-01 2012-06-13 富士通株式会社 管理装置および管理プログラム
EP2343668B1 (en) * 2010-01-08 2017-10-04 Deutsche Telekom AG A method and system of processing annotated multimedia documents using granular and hierarchical permissions
US20140173759A1 (en) * 2012-12-17 2014-06-19 Microsoft Corporation Rights-managed code
CN104348854A (zh) * 2013-07-30 2015-02-11 李娜 网络化多址媒体数据传输系统
CN104426849A (zh) * 2013-08-22 2015-03-18 深圳中兴网信科技有限公司 一种实现数据安全保护的方法及系统
US10872032B1 (en) * 2016-09-01 2020-12-22 United Services Automobile Association (Usaa) Systems and methods for software development using sandbox views
SG11202003508SA (en) 2017-10-19 2020-05-28 Autnhive Corp System and method for generating and depositing keys for multi-point authentication
US10732948B2 (en) * 2017-12-01 2020-08-04 Jpmorgan Chase Bank, N.A. System and method for implementing automated deployment
CN111680323A (zh) * 2020-05-26 2020-09-18 广州多益网络股份有限公司 一种代码借阅保护方法和系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6110228A (en) 1994-12-28 2000-08-29 International Business Machines Corporation Method and apparatus for software maintenance at remote nodes
GB9600823D0 (en) 1996-01-16 1996-03-20 British Telecomm Distributed processing
US5933641A (en) 1997-03-24 1999-08-03 Tritech Microelectronics International, Ltd. Numeric intensive real-time software development system
US6256776B1 (en) 1998-04-02 2001-07-03 John L. Melanson Digital signal processing code development with fixed point and floating point libraries
US7188332B2 (en) * 1999-10-05 2007-03-06 Borland Software Corporation Methods and systems for relating a data definition file and a data model for distributed computing
US7017143B1 (en) * 1999-12-01 2006-03-21 Microsoft Corporation External resource files for application development and management
WO2001082071A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for supporting and deploying distributed computing components
US7076534B1 (en) * 2000-06-30 2006-07-11 Microsoft Corporation Server-side scripting that enables creation of customized documents for clients
US7110936B2 (en) * 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
DE10123501A1 (de) * 2001-05-15 2002-11-21 Logic Data Gmbh Verfahren sowie System zum Zugriffschutz in einem Netzwerk
US6836884B1 (en) * 2001-06-04 2004-12-28 Microsoft Corporation Method and system for editing software programs
US7062750B2 (en) * 2001-07-16 2006-06-13 Microsoft Corporation Accessing remote stores of source and symbol data for use by computing tools
CN1414796A (zh) * 2001-10-24 2003-04-30 李力 无线信息查询处理系统和方法
EP1442580B1 (en) * 2001-11-02 2017-05-31 Juniper Networks, Inc. Method and system for providing secure access to resources on private networks
US7092942B2 (en) * 2002-05-31 2006-08-15 Bea Systems, Inc. Managing secure resources in web resources that are accessed by multiple portals
CN1553361A (zh) * 2003-06-05 2004-12-08 鸿富锦精密工业(深圳)有限公司 网络文件下载与上传管理系统及方法
US20050044531A1 (en) * 2003-06-09 2005-02-24 Erc-Ip, Llc Methods and systems for deploying computer source code
US20050097197A1 (en) 2003-10-07 2005-05-05 International Business Machines Corporation Web browser control for customer support
US7409675B2 (en) * 2004-02-27 2008-08-05 Microsoft Corporation Code rewriting
CN100361443C (zh) * 2004-08-17 2008-01-09 迈普(四川)通信技术有限公司 访问控制方法及安全代理服务器
US7681176B2 (en) * 2005-03-04 2010-03-16 Microsoft Corporation Generating a graphical designer application for developing graphical models
JP4924976B2 (ja) * 2005-03-23 2012-04-25 新日鉄ソリューションズ株式会社 ソフトウェア開発支援システム
US20060277231A1 (en) * 2005-06-06 2006-12-07 Javaground Usa, Inc. Integrated software development and porting system for wireless devices
US20070055964A1 (en) * 2005-09-06 2007-03-08 Morfik Technology Pty. Ltd. System and method for synthesizing object-oriented high-level code into browser-side javascript
US8166404B2 (en) * 2005-10-04 2012-04-24 Disney Enterprises, Inc. System and/or method for authentication and/or authorization
US20060047780A1 (en) * 2005-11-08 2006-03-02 Gregory Patnude Method and apparatus for web-based, schema-driven application-server and client-interface package using a generalized, data-object format and asynchronous communication methods without the use of a markup language.
US8214516B2 (en) * 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179135A (zh) * 2013-04-19 2013-06-26 网宿科技股份有限公司 基于ssh中转机的远程管理方法
CN110457040A (zh) * 2018-05-08 2019-11-15 腾讯科技(深圳)有限公司 用于源代码分布式构建的方法和装置
CN110457040B (zh) * 2018-05-08 2022-02-25 腾讯科技(深圳)有限公司 用于源代码分布式构建的方法和装置
CN109814889A (zh) * 2019-01-30 2019-05-28 北京百度网讯科技有限公司 用于更新源代码库的方法和装置
CN111625782A (zh) * 2020-05-25 2020-09-04 杭州安恒信息技术股份有限公司 源码的访问权限控制方法、装置、计算机设备和存储介质
CN111625782B (zh) * 2020-05-25 2023-09-19 杭州安恒信息技术股份有限公司 源码的访问权限控制方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
US20080120415A1 (en) 2008-05-22
US8151365B2 (en) 2012-04-03
GB2457840A (en) 2009-09-02
GB0910339D0 (en) 2009-07-29
GB2457840B (en) 2012-02-15
CN101187965B (zh) 2010-12-15

Similar Documents

Publication Publication Date Title
CN101187965B (zh) 用于过滤对数据对象的访问的方法和装置
JP7096903B2 (ja) 分散データベースに対する機密性及び不正利用防止のための分散された情報保護
CN111492624B (zh) 用于控制和/或监控装置的方法和控制系统
CN111543031B (zh) 用于控制和/或监控装置的方法和控制系统
WO2019138128A1 (en) Method and system for providing secure access to artifacts in a cloud computing environment
US8539231B1 (en) Encryption key management
CN100593166C (zh) 便携式计算环境
TWI420339B (zh) 軟體授權系統及方法
CN103051600A (zh) 文档访问控制方法和系统
CN102271124A (zh) 数据处理设备和数据处理方法
JP2019507419A (ja) 情報処理装置、情報処理方法及び分散型コンポーネント
US8848922B1 (en) Distributed encryption key management
EP3454243B1 (en) Token execution system for access control
CN111492355B (zh) 用于控制和/或监控装置的方法和控制系统
CN107409129B (zh) 使用访问控制列表和群组的分布式系统中的授权
US20190182293A1 (en) System and method for sharing information in a private ecosystem
CN111538977A (zh) 云api密钥的管理、云平台的访问方法、装置及服务器
CN118159967A (zh) 对在隔离环境中实现的计算资源的访问的控制
Peng et al. A multilevel access control scheme for data security in transparent computing
CN111869165B (zh) 用于控制和/或监控装置的方法和控制系统
EP3930279B1 (en) Secure management of a robotic process automation environment
CN113282945B (zh) 智能锁权限管理方法、装置、电子设备及存储介质
JP7361384B2 (ja) 電子申請の補助方法、電子申請補助システム、電子申請補助システムのプログラム及びその記録媒体
Reed et al. Bulwark: A framework to store iot data in user accounts
Ratov Integration with the software interface of the com server for authorized user

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
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Chen Jianyu

Inventor after: Han Shiji

Inventor after: Yang Jian

Inventor after: Lu Xiaoqing

Inventor after: Song Yang

Inventor before: Chen Jianyu

Inventor before: Jean Geroski

Inventor before: Yang Jian

Inventor before: Lu Xiaoqing

Inventor before: Song Yang

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: CHEN JIANYU JANE GORSKI YANG JIAN LU XIAOQING SONG YANG TO: CHEN JIANYU KAN SHIJI YANG JIAN LU XIAOQING SONG YANG