CN102999351B - 用于访问内容项的方法和*** - Google Patents

用于访问内容项的方法和*** Download PDF

Info

Publication number
CN102999351B
CN102999351B CN201210431408.5A CN201210431408A CN102999351B CN 102999351 B CN102999351 B CN 102999351B CN 201210431408 A CN201210431408 A CN 201210431408A CN 102999351 B CN102999351 B CN 102999351B
Authority
CN
China
Prior art keywords
user
content item
mutual
active user
voucher
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.)
Expired - Fee Related
Application number
CN201210431408.5A
Other languages
English (en)
Other versions
CN102999351A (zh
Inventor
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 Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102999351A publication Critical patent/CN102999351A/zh
Application granted granted Critical
Publication of CN102999351B publication Critical patent/CN102999351B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本文描述了将身份映射至文档以实现多用户登录。本公开的实施例提供了用于使用共享计算设备来使得多个用户能访问、编辑和保存内容项的***和方法。本文中描述的方法和***利用标识表来标识每个用户与每个内容项之间的先前关联。如果确定特定用户与内容项之间存在先前关联,则特定用户可与内容项进行交互。然而,如果确定先前关联不存在,则特定用户可尝试利用另一用户的凭证来与内容项进行交互。

Description

用于访问内容项的方法和***
技术领域
本发明涉及将身份映射至文档以实现多用户登录。
背景技术
随着技术的进步,在各个实体和个人之间共享文档和其他数据变得越来越流行。然而,管理哪些实体或个体可以且应当具有对被共享的每个文档或数据的访问变得越来越难。
本公开的各实施例正是对于这些和其它一般考虑事项而做出的。而且,尽管讨论了相对具体的问题,但是应当理解,本文中公开的各实施例不应被限于解决本背景技术中所标识的具体问题。
发明内容
提供本发明内容来以简化形式介绍将在以下详细描述部分中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本公开的实施例提供了用于使得多个用户能使用共享计算设备来访问、编辑和保存内容项的***和方法。文本中描述的方法和***利用标识表来标识每个用户与每个内容项之间的先前关联。如果确定特定用户与内容项之间存在先前关联,则特定用户可与内容项进行交互。然而,如果确定不存在先前关联,则特定用户可尝试使用另一用户的凭证以便内容项进行交互,或者可创建内容项与特定用户之间的新关联。
更具体地,公开了用于使用共享计算设备来访问内容项的***和方法。在一实施例中,接收以所请求的方式(例如,打开内容项)与内容项进行交互的请求。当接收到请求时,关于计算设备的多个用户中的至少一个用户与内容项之间是否存在关联作出确定。在某些实施例中,至少部分地基于存储在文档标识表中的信息来作出确定。当确定存在关联时,关于计算设备的当前用户是与标识表中所标识的用户相同的用户作出确定。如果当前用户与所标识的用户相同,则当前用户可以所请求方式与内容项进行交互。替换地,如果当前用户并不等价于该至少一个用户,则作出尝试以使用与当前用户相关联的凭证以所请求方式来实现当前用户与内容项之间的交互。另外,当尝试实现当前用户与内容项之间的交互不成功时,作出尝试以使用与所标识的用户相关联的凭证来实现当前用户与内容项之间的交互。
实施例可被实现为计算机进程、计算***、或者诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是由计算机***可读的、并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是由计算***可读的、并对用于执行计算机过程的指令的计算机程序编码的载体上的传播信号。
附图说明
参考以下附图描述非限制性和非穷尽的实施例。
图1例示了根据一个或多个实施例的使用共享计算设备来访问内容项的***。
图2A、2B和2C例示了根据一个或多个实施例的用于在计算设备的多个用户之间共享内容项的方法。
图3A和3B例示了根据本文中公开的一个或多个实施例可以利用的示例性用户界面。
图4示出了适于实现在此所述的各实施例的计算环境的框图。
具体实施方式
以下将参考形成本发明一部分并示出各具体示例性实施例的附图更详尽地描述各个实施例。然而实施例被实现为许多不同的形式并且不应将其解释为限制在此处描述的实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将这些实施例的范围完全传达给本领域普通技术人员。因此,这些实施例可采用硬件实现形式、全软件实现形式或者结合软件和硬件方面的实现形式。因此,以下详细描述并非是局限性的。
图1例示了用于在计算设备120的多个用户(例如,第一用户110、第二用户112、和第三用户114)之间共享内容项155的***100。尽管在图1中示出三个不同用户,但是构想可以存在共享单个计算设备120的更少或附加的用户。更具体地,***100可被用于:(i)确定内容项155的所有者;(ii)确定一个或多个用户是否具有必要的凭证以与内容项155进行交互;以及(iii)存储并更新一个或多个用户与内容项155之间的关联。尽管在所公开的实施例中,计算设备120是多承租人设备,但是还构想到本文中描述的***和方法可适用于单承租人设备。
如图1所示,***100可包括计算设备120。计算设备120可以是台式或膝上型计算机、平板计算机、移动电话、个人数字助理,等。除了其它组件之外,计算设备120包括执行一个或多个应用130的操作***。应用130可以是文字处理应用、电子表格应用、数据库应用、电子邮件应用,等。每个应用130可被用来创建内容项155。当用户(例如,通过使用应用130)发起对内容项的创建时,用户与内容项155之间的关联被存储在内容项ID表140中。如以下将详细解释的,内容项ID表存储以下两者之间的关联:(i)存储有内容项的位置(例如,与云存储服务160或使用特定云存储服务的实体相关联的统一资源定位符(URL));(ii)与内容项的所有者(例如,最初创建或编辑了该内容项的用户)相关联的标识符。
在特定实施例中,计算设备120可要求一个或多个用户递交用户凭证以便登录到(i)计算设备120的操作***,或(ii)由计算设备120执行的一个或多个应用130。用户凭证可以是对尝试登录进入计算设备120或应用130中的每一个的每个用户所特有的。例如,第一用户110可具有一组用户凭证111,第二用户112可具有一组用户凭证113,而第三用户114可具有一组用户凭证115。在一实施例中,每个用户的用户凭证包括用户名和口令,或者与每一个用户相关联并标识每一个用户的其他输入。例如,每个用户的用户凭证可包括以下各项中的一个或多个:WINDOWSLIVEID、OFFICE365ID、电子邮件地址和相关联口令、用户名和口令、组织ID、与组织相关联的电子邮件地址、操作***登录ID,等。在一实施例中,每一个用户可使用单次登录凭证,该单次登录凭证使得每个用户能通过在单个时间点上输入其用户凭证来访问(i)操作***,以及(ii)一个或多个应用130。替换地,可要求每个用户针对(i)操作***和(ii)一个或多个应用130输入不同的用户凭证。
计算设备120还可访问网络连接150或其他通信装置,藉此计算设备120可访问一个或多个云存储服务160。云存储服务160使得用户能访问、保存或改变与内容项155相关联的内容。在特定实施例中,内容项155可被本地存储在计算设备120上。在另一实施例中,内容项被存储在一个或多个云存储服务160上。
如以下将详细描述的,可在计算设备120的多个用户之间共享内容项155。在特定实施例中,对内容项155的访问可基于与每个用户相关联的凭证(例如,许可)。云存储服务160的示例包括但不限于SKYDRIVE、华盛顿州雷蒙德市微软公司的SHAREPOINT、Officeware公司的DROPBOX,等等。虽然已经给出了具体的示例,可以构想到其它外部存储服务可被用于在此公开的各实施例。
在一实施例中,用户(例如,第一用户110)可访问多个云存储服务160。在此类实例中,第一用户110可具有与第一云存储服务相关联的第一组凭证以及与第二云存储服务相关联的第二组凭证。在另一实施例中,第一用户110的凭证可被用来访问第一云存储服务和第二云存储服务。在又一实施例中,第一用户110用来访问一个或多个云存储服务160的凭证可以是与第一用户110用来访问计算设备120的操作***和/或应用130的相同凭证。
与第一用户110一样,第二用户112也可访问一个或多个云存储服务160。在特定实施例中,可要求第二用户112向以下各项中的一个或多个提供用户凭证113:(i)计算设备120的操作***、(ii)应用130以及(iii)云存储服务160中的一个或多个。尽管第一用户110和第二用户112共享计算设备120,但是构想到每个用户可访问不同的云存储服务160。另外,构想到用户中的每一个可访问相同的云存储服务160(例如,SKYDRIVE)或甚至特定云存储服务160的相同帐户。
如以上所讨论的,计算设备120可以是多承租人设备。由此,本文中公开的实施例使得计算设备的每个用户能同时登录至(i)计算设备120的操作***以及(ii)计算设备的一个或多个应用130。因而,当在计算设备120的用户之间进行切换时,先前用户无需在当前用户登录之前登出。尽管多个用户可被同时登录至(i)操作***、(ii)一个或多个应用130、或(iii)云存储服务160,但是在使得特定用户每个用户能访问所选内容项之前关于每个用户的访问许可作出确定。在与每个内容项155交互时,跟踪每个用户与内容项之间的交互以使得与内容项相关联的信息被正确更新。
例如,如果第一用户110创建文字处理文档并将该文档保存在特定云存储设备160上,则本文中描述的***和方法有助于确保当文档随后被第一用户110打开时,恰当的用户凭证111被用来打开文档。另外,本文中描述的***和方法还有助于确保如果另一用户(诸如例如第二用户112)尝试打开文档,则:(i)第二用户112在他具有打开文档的许可的情况下,仅可打开文档;(ii)由第二用户112对文档作出的改变被正确地归属到第二用户112;以及(iii)文档被保存回云存储服务160的正确位置(例如,第一用户最初保存文档的位置)。
图2A、2B和2C例示了可被单独或结合使用来确定计算设备的多个用户之间对内容项的访问许可的子方法200A、200B和200C。例如,计算设备(诸如比如计算设备120(图1))可执行方法200以确定一个或多个用户(例如,第一用户110、第二用户112或第三用户114)是否能访问特定内容项。另外,计算设备120被配置成存储每个用户与内容项之间的关联。
方法200A(图2A)始于当(例如,经由计算设备)接收到对打开内容项(诸如例如文档)的请求之时。内容项可被存储在与特定用户相关联的一个或多个云存储服务中。例如,正被特定用户所使用的计算设备可具有在计算设备上执行的云存储服务客户端(例如,SKYDRIVE客户端)。当特定用户期望将内容项保存到其SKYDRIVE帐户时,内容项可被放置(例如,保存、拖曳或放入,等等)到文件夹或计算设备上的其他此类位置。云存储服务随后与本地客户端同步,并且放置在文件夹中的所有内容项被保存到相关联存储服务上。在另一实施例中,内容项可被存储在另一外部存储结构上。
响应于对打开内容项的请求,关于内容项是否正在从云存储服务的本地客户端位置(例如,与云存储服务相关联的文件夹或位置)打开的作出确定204。在特定实施例中,仅当用户当前正登录到其云存储服务帐户(例如,其SKYDIRVE帐户)时,用户才可尝试打开位于本地客户端位置内的内容项。如果作出正在从本地客户端位置处与内容项进行交互(例如,打开)的确定,则流程行进至操作206,在那里使用用户的与特定云存储服务相关联的用户凭证来与内容项进行交互。
当用户已能够与内容项交互时,流程行进至操作208,在那里内容项ID表(例如,内容项ID表140(图1))被更新。如以下将更详细解释的,更新内容项ID表包括将内容项与同内容项交互的用户的凭证或其他标识符进行关联。如以上所讨论的,凭证可以是WINDOWSLIVEID、OFFICE365ID、电子邮件地址和相关联的口令、用户名和口令、组织ID,等。
回顾图2A,如果在操作204中确定内容项并非是正从云存储服务的本地客户端位置打开的,或者因为例如(i)本地客户端应用尚未被安装到计算设备上来实现与云存储服务的通信、(ii)当前用户未登录到云存储服务或不能访问本地客户端、或者(iii)要与之交互的内容项并非位于本地客户端位置中,则流程行进至操作210,在那里关于正被用来与内容项(例如,文字处理应用、电子数据表应用,等)进行交互的应用是否先前访问过内容项作出确定。在特定实施例中,操作210的确定是基于内容项ID表中包含的信息。
如以上所讨论的,每个内容项与URL相关联。在特定实施例中,内容项的URL描述了正存储内容项的位置。在一实施例中,内容项的URL被存储在内容项自身内。内容项ID表存储由URL标识的内容项与身份对象(例如,描述哪个用户先前访问过文档以及该用户的用户凭证的对象)之间的关联。在特定实施例中,每个用户具有对该用户唯一的相关联身份对象。因而,在操作210中,如果身份对象与内容项ID表中的内容项的的URL相关联,则确定先前已与所选内容项进行交互。结果,流程行进至操作212。
在操作212中,关于存储在身份对象中的凭证是否匹配于尝试与内容项交互的应用的活跃简档的凭证。在特定实施例中,活跃简档与当前且活跃地登录至应用(或操作***)的用户(例如,活跃地使用计算设备或应用的用户)相关联。如以上所讨论的,多个用户可被同时地登录至计算设备。由此,活跃简档与活跃地使用计算设备的一个或多个功能(例如,与计算设备交互)的多个用户中的一个相关联。在一实施例中,尝试与内容项交互的应用被配置成在用户界面上显示活跃简档。参照图3A和3B示出了用户界面的示例性实施例。
参看图3A,图3A例示了示例性用户界面300,示例性用户界面300显示与活跃简档的用户相关联的标识符310。如图3A中所示的,标识符可包括当前被标识为活跃简档用户的用户的名称。在另一实施例中,标识符可以是图标、化身、用户名、电子邮件地址或其任何组合。在特定实施例中,可响应于用户选择标识符310,将不同用户选择为活跃简档用户。这样的一个实施例参照图3B示出。
图3B例示了在尝试改变活跃简档用户时响应于用户对标识符310(图3A)的选择而显示的示例性用户界面300B。在特定实施例中,响应于用户对标识符310的选择,在用户界面300B上输出用户徽章315。用户徽章315可包括关于活跃简档用户的附加信息。例如,用户徽章315可标识活跃简档用户的名称(例如,“ShelleyGu”)。用户徽章315还可提供与活跃简档用户相关联的附加标识符,诸如例如用户的图像316以及用户的电子邮件地址317。尽管特别提及图像和电子邮件地址,但是构想到可在用户徽章315中显示更少或附加的标识符。
在特定实施例中,用户徽章315也可使活跃简档用户能调节其用户设置。此类设置可包括更改活跃简档用户的图像316、电子邮件地址317、或标识符310(图1)。在另一实施例中,用户设置可被用来调节与活跃简档用户相关联的凭证和/或许可。
如图3B中所示的,用户徽章315还可显示当前登录至操作***或应用的、但是并非是活跃简档用户的一个或多个用户320。例如,用户徽章315可被配置成显示与一个或多个用户320相关联的一个或多个标识符,诸如例如当前登录的至少一个用户的名称、与该至少一个用户相关联的图像、该至少一个用户的电子邮件地址,等。由于至少一个用户320已提供其用户凭证,所以对至少一个用户320的选择导致至少一个用户变为活跃简档用户。例如,一旦选择至少一个用户(例如,Shelley),活跃简档用户就从“ShelleyGu”改变为“Shelley”。随着在活跃简档在各个用户之间的切换,还可相应地更新与每个用户相关联的一个多个设置或偏好(例如,应用设置、操作***设置,等)。
然而,如果用户尚未提供登录凭证并且希望变为活跃简档用户,则用户可选择登入(signin)选项330,这使得用户能提交其凭证并变为活跃简档用户。一旦用户已提供其凭证且已被验证,则用户将变为活跃简档用户。尽管已更新了活跃简档用户,但是其他用户(例如,ShelleyGu和Shelley)中的每一个保持登录。如所示讨论的,每个登录用户在用户于用户徽章315上作出选择时可变为活跃简档用户。
回顾图2,如果在操作212确定存储在身份对象中的凭证里的一个或多个匹配于活跃简档的凭证,则流程行进至操作214,在那里使用存储在内容项ID表中的凭证(例如,存储在身份对象中的凭证)来与内容项进行交互。一旦已与内容项进行交互(例如,打开),流程就行进至操作208,在那里更新内容项ID表。
然而,如果在操作212确定活跃用户的凭证不匹配于身份对象中存储的任意一个凭证,则流程行进至操作216,在那里,应用尝试使用与活跃简档用户相关联的凭证(例如,由标识符310(图3A)所标识的用户的凭证)来与内容项进行交互。如果与活跃简档用户相关联的凭证足以允许用户与内容项进行交互(例如,用户具有读取、读取/写入许可,等),则活跃简档用户可与内容项进行交互并且活跃简档用户与内容项之间的关联被存储在内容项ID表中。
然而,如果与活跃简档用户相关联的凭证不足以允许活跃简档用户与内容项进行交互,则流程行进回到操作214,在那里,应用尝试使用存储在内容项ID表中的用户凭证(例如,存储在身份对象中的凭证)来与内容项进行交互。在特定实施例中,这些凭证可仅在与存储在身份对象中的凭证相关联的用户当前登录至(i)操作***、或(ii)应用时才使用。
一旦用户已与内容项进行交互(例如,打开),流程就行进至操作208,在那里更新内容项ID表。在此情形中,内容项ID表被更新以反映活跃简档用户(例如,不具有存储在身份对象中的凭证的用户)与内容项之间的关联。在另一实施例中,内容项ID表被更新以反映其凭证被用来与内容项交互的用户与内容项自身之间的关联。
回顾操作210,如果在操作210确定被用来与内容项交互的应用先前未曾访问内容项(例如,内容项的URL与身份对象之间没有关联),则流程行进至操作218,在那里,应用尝试使用与活跃简档用户相关联的凭证来与内容项进行交互。如果活跃简档用户具有足够许可来与内容项进行交互,则流程行进至操作208,在那里内容项ID表被更新以反映活跃简档用户与内容项之间的关联。然而,如果活跃简档用户不具有足够许可来与内容项进行交互,则流程行进至子方法200B(图2B)的操作220。
在操作220,关于与内容项相关联的云存储服务作出确定。例如,用户可访问两个不同的云存储服务。例如,用户可具有SKYDRIVE帐户和SHAREPOINT帐户以及同每个帐户相关联的简档。然而,如以下所描述的,尽管用户已具有多个简档,但是这些简档中的一个被认为是活跃用户简档。尽管已给出特定示例,但是构想到用户可访问各种云存储服务,并且用户可具有关于每个云存储服务的一个或多个简档。
在某些实施例中,关于哪个云存储服务与内容项相关联的确定是基于内容项的URL或域。例如,内容项可具有URL“www.company.com/Shelley’sDocuments/document1.docx”。如果基于与内容项相关联的URL或域而确定内容项与第一云存储服务(例如,SHAREPOINT)——或更具体的利用云存储服务的实体(例如,域地址中的“公司(company)”)——相关联,则流程行进至操作222,在那里,确定活跃简档用户是否与实体(例如,“公司”)相关联。例如,关于活跃简档用户是否具有使得活跃简档用户能够从公司的云存储服务来访问文档的标识符(例如,电子邮件地址,诸如例如shelleycompany.com)作出确定。在另一实施例中,活跃简档用户无需具有用来与文档进行交互的相关联域(例如,company.com)。在此类情形中,活跃简档用户可访问内容项,只要计算设备的至少一个登录用户与恰当的域相关联。例如,如果Shelley并非是活跃简档用户但是当前是登录的,则活跃简档用户可能使用例如Shelley的凭证来与内容项进行交互。
如果在操作222中确定活跃简档用户尚未用匹配标识符(例如,company.com)进行登录,则流程行进至228,在那里向活跃简档用户提示输入可使得活跃简档用户能与内容项进行交互的凭证。然而,如果在操作222确定活跃简档用户已使用匹配标识符来登录,则流程行进至操作224,在那里应用尝试使用与活跃用户简档相关联的凭证来与内容项进行交互。如果活跃简档用户具有恰当的凭证,则打开226内容项,并且在内容项ID表中更新208活跃简档用户与内容项之间的关联。然而,如果活跃简档用户不具有与内容项进行交互的许可,则流程行进至操作228,且向活跃简档用户提示输入恰当的凭证。
回顾操作220,如果在操作220确定使用第二云存储服务(例如,SKYDRIVE)来存储内容项,则流程行进至子方法200CFIG.2C的操作230。如以上所讨论的,该确定可基于与内容项相关联的URL、内容项的域、或与内容项相关联的标识符而作出。例如,如果第二云存储服务为SKYDRIVE,则标识符可以是WINDOWSLIVEID。
在操作230,关于多个用户当前是否被登入至单个计算设备上的云存储服务(例如,SKYDRIVE)作出确定。例如,可在三个用户之间共享计算设备,并且每个用户可具有与云存储服务相关联的标识符(例如,WINDOWSLIVEID)。
如果在操作230确定仅一个用户(例如,活跃用户)当前被登入至应用(或经由应用登入至云存储服务),则流程行进至操作234,在那里尝试作为活跃用户来与内容项进行交互。如果活跃用户具有足够的许可(例如,基于与活跃用户相关联的凭证)来与内容项进行交互,则流程行进至操作208,在那里更新活跃用户与内容项之间的关联。然而,如果活跃用户不具有足够的许可来与内容项进行交互,则应用的用户界面向活跃用户提示输入不同的登入凭证(236)。在某些实施例中,如果活跃用户提供附加登入凭证,则流程可返回到操作220,并且子方法200B用新的登入凭证来重复。如果活跃用户没有输入附加登入凭证,则方法结束并且拒绝用户对内容项的访问。
回顾操作230,如果确定多个用户当前被登入至应用(或经由应用登入至云存储服务),则流程进行至操作232,在那里确定内容项是否属于活跃用户(例如,源自活跃用户的云存储服务或被存储在其中)。如果活跃用户并非是内容项的所有者,则流程进行至操作238,这将在以下进行讨论。然而,如果活跃用户是内容项是所有者,则流程进行至操作234,并且如以上所述地作出与内容项进行交互的尝试。
回顾操作232,如果确定内容项的所有者未以任何资格登录至计算设备,则流程行进至操作238,在那里确定是否与当前登录至操作***、应用、和/或云存储服务的任何其他用户共享内容项。在一实施例中,此确定是基于存储在内容项中的数据而作出的。例如,如果已在用户之间共享内容项,则内容项ID表可存储指示以下各项的数据:(i)内容项已被共享;以及(ii)与谁共享内容项。在另一实施例中,此数据可与内容项一起被存储。
如果在操作238作出尚未与任一其他用户共享内容项的确定,则流程行进至操作236,在那里向活跃简档用户提示输入使得用户能与内容项交互的凭证。在一实施例中,如果活跃简档用户提交附加用户凭证,则流程返回子方法200C的操作230。过程随后用附加用户凭证进行重复。然而,如果活跃用户没有提交附加用户凭证,则方法结束并且拒绝用户对内容项的访问。
然而,如果在操作238确定已与单个用户共享内容项,则流程行进至操作240,在那里使用与同其共享内容项的用户相关联的凭证来与内容项进行交互。例如,如果第一用户与第二用户共享文档,且第二用户当前登录至云存储服务,则第三用户能够使用第二用户的凭证来与内容项进行交互。一旦已与文档进行交互,流程就行进至操作208,在那里,用内容项与被用来与内容项交互的用户(例如,第二用户)的凭证之间的关联来更新内容项ID表。
回顾操作238,如果确定已与多个用户共享内容项,则流程行进至操作242,在那里使用基于最多许可的用户的凭证来与内容项进行交互。例如,如果第一用户与第二用户和第三用户共享文档,并且第二用户仅具有读取许可而第三用户具有读取/写入许可,则可使用第三用户的凭证来与内容项进行交互。一旦已与内容项进行交互,流程就行进至操作208,在那里,用内容项与被用来与内容项交互的用户(例如,第三用户)的凭证之间的关联来更新内容项ID表。
在某些实施例中,只要至少一个用户保持登录至应用(例如,文字处理应用,等),就维持内容项ID表、以及各个内容项与用户之间的关联。一旦所有用户都已登出应用,就重置存储在内容项ID中的关联。在另一实施例中,每个应用具有相关联的内容项ID表。在替换性实施例中,两个或多个应用可共享单个内容项ID表。
图4示出可用于实现此处所描述的各实施例的通用计算机环境400。计算机***400仅是计算环境的一个示例,而非旨在对计算机和网络架构的使用范围或功能提出任何限制。计算机***400也不应被解释成对于在示例计算机***400中所示出的任一组件或其组合有任何依赖或要求。在各实施例中,***400可用作以上参考图1所描述的计算设备120。
在其最基本配置中,***400通常包括至少一个处理单元402和存储器404。取决于计算设备的确切配置和类型,存储器404可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是其某种组合。该最基本配置在图4中由虚线406来示出。***存储器404存储:指令420,诸如用于将用户与该用户已同其进行交互的内容项进行关联的指令;以及数据422,诸如内容项ID表的关联,每个关联可被存储在诸如存储408之类的文件存储***中。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。***存储器404、可移动存储和不可移动存储408都是计算机存储介质示例(例如,存储器存储)。计算机存储介质可包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或者可用于存储信息且可由计算设备400访问的任何其他介质。任何这样的计算机存储介质都可以是设备400的一部分。计算设备400还可以具有输入设备414,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备416。上述设备是示例,并且可使用其他设备。
本文所使用的术语计算机可读介质还可包括通信介质。通信介质可由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
可以通过***上芯片(SOC)来实践所揭示的实施例,其中,可以将图4中示出的每个或大多数组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、***虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的相对于为资源提供联系访问的功能可以通过在单个集成电路(芯片上)集成有计算设备/***400的其它组件的应用专用逻辑来操作。
本说明书通篇引述了“一个实施例”或“实施例”,这意味着在至少一个实施例中包括特定描述的特征、结构或特性。因此,对这样短语的使用可指的是一个以上的实施例。而且,在一个或多个实施例中,可以用任何合适的方式组合所描述的特征、结构或特性。
然而,本领域技术人员会认识到本实施例也可在没有一个或多个具体细节的情况下实施,或者采用其它方法、资源、材料等来实现。在其他情况中,仅为了避免模糊实施例的各方面,未详细示出和描述公知的结构、资源或操作。
虽然示出和描述了示例实施例和应用,但是应该理解本实施例不限于上述精确配置和资源。可以对此处公开的方法和***的排列、操作以及细节作出对本领域技术人员显而易见的各种修改、改变和变化,而不背离所要求保护的本实施例的范围。

Claims (9)

1.一种用于使用共享计算设备来访问内容项的方法,所述方法包括:
接收以所请求的方式对与内容项进行交互的请求;
至少部分地基于与所述内容项相关联的标识表来确定所述内容项与所述计算设备的多个用户中的至少一个用户之间是否存在关联;
当确定所述内容项与所述至少一个用户之间存在关联时:
确定所述计算设备的当前用户等价于所述至少一个用户;以及
当当前用户等价于所述至少一个用户时,使用与所述至少一个用户相关联的凭证来以所请求的方式实现所述当前用户与所述内容项之间的交互;
否则,使用与所述当前用户相关联的凭证来以所请求的方式来尝试实现所述当前用户与所述内容项之间的交互;以及
当对实现所述当前用户与所述内容项之间的交互的尝试不成功时,尝试使用与所述至少一个用户相关联的凭证以实现所述当前用户与所述内容项之间的交互。
2.如权利要求1所述的方法,其特征在于,还包括当对实现所述当前用户与所述内容项之间的交互的尝试成功时,更新所述标识表中所述当前用户与所述内容项之间的关联。
3.如权利要求1所述的方法,其特征在于,还包括当对使用与所述至少一个用户相关联的凭证来实现所述当前用户与所述内容项之间的交互的尝试成功时,更新所述标识表中所述至少一个用户与所述内容项之间的关联。
4.一种用于使用共享计算设备访问内容项的***,所述***包括:
用于接收以所请求的方式与内容项进行交互的请求的装置;
用于至少部分地基于与所述内容项相关联的标识表来确定所述内容项与所述计算设备的多个用户中的至少一个用户之间是否存在关联的装置;
当确定所述内容项与所述至少一个用户之间存在关联时:
用于确定所述计算设备的当前用户等价于所述至少一个用户的装置;以及
用于当当前用户等价于所述至少一个用户时,使用与所述至少一个用户相关联的凭证来以所请求的方式实现所述当前用户与所述内容项之间的交互的装置;
否则,用于使用与所述当前用户相关联的凭证来以所请求的方式尝试实现所述当前用户与所述内容项之间的交互的装置;以及
用于当对实现所述当前用户与所述内容项之间的交互的尝试不成功时,尝试使用与所述至少一个用户相关联的凭证以实现所述当前用户与所述内容项之间的交互的装置。
5.如权利要求4所述的***,其特征在于,还包括用于当对实现所述当前用户与所述内容项之间的交互的尝试成功时,更新所述标识表中所述当前用户与所述内容项之间的关联的装置。
6.如权利要求4所述的***,其特征在于,还包括用于当对使用与所述至少一个用户相关联的凭证来实现所述当前用户与所述内容项之间的交互的尝试成功时,更新所述标识表中所述至少一个用户与所述内容项之间的关联的装置。
7.如权利要求4所述的***,其特征在于,还包括用于当确定所述内容项与所述多个用户中的至少一个用户之间不存在关联时,尝试以所请求的方式来实现所述当前用户与所述内容项之间的交互的装置,其中当确定不存在关联时,尝试以所请求的方式来实现所述当前用户与所述内容项之间的交互包括:使用与所述当前用户相关联的凭证来实现所述当前用户与所述内容项之间的交互。
8.一种用于访问内容项的方法,所述方法包括:
接收以所请求的方式与内容项进行交互的请求;
至少部分地基于与所述内容项相关联的标识表来确定所述内容项与所述计算***的多个用户中的至少一个用户之间是否存在关联;
当确定所述内容项与所述至少一个用户之间存在关联时:
基于与(i)计算机***的当前用户、以及(ii)所述至少一个用户相关联的用户凭证来确定所述计算机***的所述当前用户是否等价于所述至少一个用户;
当当前用户等价于所述至少一个用户时,使用与所述至少一个用户相关联的凭证来以所请求的方式实现所述当前用户与所述内容项之间的交互;
否则,使用与所述当前用户相关联的凭证来以所请求的方式尝试实现所述当前用户与所述内容项之间的交互;以及
当对实现所述当前用户与所述内容项之间的交互的尝试不成功时,尝试使用与所述至少一个用户相关联的凭证以实现所述当前用户与所述内容项之间的交互;以及
响应于实现所述当前用户与所述内容项之间的交互,基于所实现的交互而更新所述标识表。
9.一种用于访问内容项的***,所述***包括:
用于接收以所请求的方式与内容项进行交互的请求的装置;
用于至少部分地基于与所述内容项相关联的标识表来确定所述内容项与所述计算***的多个用户中的至少一个用户之间是否存在关联的装置;
当确定所述内容项与所述至少一个用户之间存在关联时:
用于基于与(i)计算机***的当前用户、以及(ii)所述至少一个用户相关联的用户凭证来确定所述计算机***的所述当前用户是否等价于所述至少一个用户的装置;
用于当当前用户等价于所述至少一个用户时,使用与所述至少一个用户相关联的凭证来以所请求的方式实现所述当前用户与所述内容项之间的交互的装置;
否则,用于使用与所述当前用户相关联的凭证来以所请求的方式尝试实现所述当前用户与所述内容项之间的交互的装置;以及
用于当对实现所述当前用户与所述内容项之间的交互的尝试不成功时,尝试使用与所述至少一个用户相关联的凭证以实现所述当前用户与所述内容项之间的交互的装置;以及
用于响应于实现所述当前用户与所述内容项之间的交互,基于所实现的交互而更新所述标识表的装置。
CN201210431408.5A 2011-11-02 2012-11-01 用于访问内容项的方法和*** Expired - Fee Related CN102999351B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/287,962 2011-11-02
US13/287,962 US8813249B2 (en) 2011-11-02 2011-11-02 Mapping identities to documents to enable multiple user logins

Publications (2)

Publication Number Publication Date
CN102999351A CN102999351A (zh) 2013-03-27
CN102999351B true CN102999351B (zh) 2016-01-20

Family

ID=47927956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210431408.5A Expired - Fee Related CN102999351B (zh) 2011-11-02 2012-11-01 用于访问内容项的方法和***

Country Status (3)

Country Link
US (1) US8813249B2 (zh)
CN (1) CN102999351B (zh)
WO (1) WO2013067072A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10410222B2 (en) 2009-07-23 2019-09-10 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
US9049484B2 (en) 2011-12-06 2015-06-02 Echostar Technologies L.L.C. Efficient assignment of program copies in a network digital video recorder
EP3340575A1 (en) 2011-12-06 2018-06-27 EchoStar Technologies L.L.C. Remote storage digital video recorder and related operating methods
CN102685223A (zh) * 2012-04-28 2012-09-19 广州市动景计算机科技有限公司 基于云端存储的文件处理方法及***
US9716916B2 (en) 2012-12-28 2017-07-25 Echostar Technologies L.L.C. Adaptive multicast delivery of media streams
US10051025B2 (en) 2012-12-31 2018-08-14 DISH Technologies L.L.C. Method and apparatus for estimating packet loss
US10104141B2 (en) 2012-12-31 2018-10-16 DISH Technologies L.L.C. Methods and apparatus for proactive multi-path routing
US10708319B2 (en) 2012-12-31 2020-07-07 Dish Technologies Llc Methods and apparatus for providing social viewing of media content
US9940014B2 (en) * 2013-05-03 2018-04-10 Adobe Systems Incorporated Context visual organizer for multi-screen display
US10033737B2 (en) * 2013-10-10 2018-07-24 Harmon.Ie R&D Ltd. System and method for cross-cloud identity matching
US9807609B2 (en) * 2013-11-15 2017-10-31 Successfactors, Inc. Multiple profiles on a shared computing device
US9600643B2 (en) 2014-02-06 2017-03-21 Red Hat, Inc. Single login multiplexing
CN105991512A (zh) * 2015-01-27 2016-10-05 中兴通讯股份有限公司 多用户登陆模式的实现方法和装置
CN104880835A (zh) * 2015-05-13 2015-09-02 浙江吉利控股集团有限公司 智能眼镜
WO2017117262A1 (en) 2015-12-29 2017-07-06 Echostar Technologies L.L.C Methods and systems for assisted content delivery
US11036769B1 (en) * 2018-07-06 2021-06-15 Workday, Inc. Linked element tracking in documents

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377971B1 (en) 1996-02-23 2002-04-23 Citrix Systems, Inc. Method and apparatus for installing and executing a single user task in a multi-user environment
US6810429B1 (en) 2000-02-03 2004-10-26 Mitsubishi Electric Research Laboratories, Inc. Enterprise integration system
US7213266B1 (en) * 2000-06-09 2007-05-01 Intertrust Technologies Corp. Systems and methods for managing and protecting electronic content and applications
US7237122B2 (en) * 2001-10-19 2007-06-26 Mcafee, Inc. Method and apparatus to facilitate software installation using embedded user credentials
KR20050021798A (ko) 2003-08-26 2005-03-07 안대림 인터넷 망에서의 의류패턴 교육 서비스 시스템 및 그 방법
CN100588181C (zh) * 2004-01-10 2010-02-03 腾讯科技(深圳)有限公司 在即时通讯中的面向多用户通讯的方法和***
US7664751B2 (en) 2004-09-30 2010-02-16 Google Inc. Variable user interface based on document access privileges
KR100718440B1 (ko) 2005-08-10 2007-05-14 서울신용평가정보 주식회사 식별코드를 이용한 인증대행 방법, 서버 및 시스템
US8250468B2 (en) 2005-12-22 2012-08-21 Xerox Corporation System and method for managing dynamic document references
WO2007120799A2 (en) * 2006-04-11 2007-10-25 Medox Exchange, Inc. Dynamic binding of access and usage rights to computer-based resources
GB0610116D0 (en) 2006-05-20 2006-06-28 Ibm A method, apparatus and computer program for collaborative editing of a document
US20080104393A1 (en) * 2006-09-28 2008-05-01 Microsoft Corporation Cloud-based access control list
US10839403B2 (en) 2006-12-28 2020-11-17 Ebay Inc. Contextual content publishing system and method
US7937663B2 (en) 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
US8141139B2 (en) 2007-11-14 2012-03-20 International Business Machines Corporation Federated single sign-on (F-SSO) request processing using a trust chain having a custom module
US8689352B2 (en) 2008-12-18 2014-04-01 Sap Ag Distributed access control for document centric collaborations
JP2010266691A (ja) 2009-05-14 2010-11-25 Kyocera Mita Corp 文書管理装置及び画像形成装置
US8245273B2 (en) * 2009-08-24 2012-08-14 International Business Machines Corporation Sharing referenced content through collaborative business applications
US8577029B2 (en) * 2010-09-10 2013-11-05 International Business Machines Corporation Oblivious transfer with hidden access control lists

Also Published As

Publication number Publication date
WO2013067072A3 (en) 2013-08-15
WO2013067072A2 (en) 2013-05-10
US8813249B2 (en) 2014-08-19
CN102999351A (zh) 2013-03-27
US20130111606A1 (en) 2013-05-02

Similar Documents

Publication Publication Date Title
CN102999351B (zh) 用于访问内容项的方法和***
CN108551437B (zh) 用于认证信息的方法和装置
CN102930227B (zh) 用于使用外部存储服务来保存文档的用户界面
CN102439898B (zh) 基于模型的多层验证方法和***
US20190052465A1 (en) Method and appratus for authentication and promotion of services
US8505084B2 (en) Data access programming model for occasionally connected applications
US8412930B2 (en) Device authentication within deployable computing environment
US9378394B2 (en) Method and apparatus for differentiated access control
CN103918292A (zh) 使用近场通信对***的用户进行认证
EP3984164A1 (en) Binding of decentralized identifiers to verified claims
US10021093B2 (en) System and method for communicating credentials
US11288389B2 (en) Scoped sharing of DID-associated data using a selector
WO2020222927A1 (en) Localization of did-related claims and data
CN102968250A (zh) 用于选择多个帐户和连接点的用户界面
Ozdenizci et al. A Tokenization‐Based Communication Architecture for HCE‐Enabled NFC Services
JP5311999B2 (ja) 利用者情報管理装置、利用者登録管理システム、利用者情報管理方法及び利用者情報管理プログラム
Sabella NFC for Dummies
US10230564B1 (en) Automatic account management and device registration
Akram et al. A novel consumer-centric card management architecture and potential security issues
US20230269239A1 (en) Secure collaboration with file encryption on download
US10346352B2 (en) Providing notification based on destination of file operation
Khimani et al. A novel model for security and data access for jointly accessing the cloud service
US20220376927A1 (en) Method and apparatus for delivering signed content
US20240073198A1 (en) Method and apparatus of managing access to virtual spaces based on digital non-fungible tokens
Voorhees et al. OOD Case Study: Design Patterns

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

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

Effective date of registration: 20150727

Address after: Washington State

Applicant after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160120

CF01 Termination of patent right due to non-payment of annual fee