用于控制资源访问的方法和装置的制造方法

文档序号:9380185阅读:602来源:国知局
用于控制资源访问的方法和装置的制造方法
【技术领域】
[0001]本发明的实施例总体上涉及认证与授权的领域,更具体地,涉及用于控制资源访问的方法和装置。
【背景技术】
[0002]针对资源访问的第三方认证和授权是已知的。具体而言,当用户试图使用一个客户端应用访问和使用特定的资源时,可以允许用户不将他/她的个人信息(例如,口令)提供给客户端应用,而是由专门的第三方负责认证和授权。特别地,认证和授权方与资源的提供方可以彼此独立。
[0003]作为示例,OAuth是一种已知的支持第三方认证和授权的架构。在OAuth架构下,当用户请求访问特定资源时,由专门的授权服务器通过对用户和客户端应用进行身份认证,来确定是否授权对所请求资源的访问。授权服务器独立于提供资源的资源服务器。如果资源访问被授权,则授权服务器可以向客户端应用提供相应的访问令牌(access token)。客户端应用将访问令牌提供给资源服务器,以指示对资源的访问请求已被授权。资源服务器继而向授权服务器验证访问令牌的有效性,并且在确认访问令牌有效的情况下提供所请求的资源。
[0004]然而,在现有的第三方认证和授权方案中,授权服务器对于资源访问的控制粒度不够精细,并且可控制的方面也是有限的。换言之,授权服务器通常只能允许或者拒绝对特定资源的访问,无法对访问过程实现其他控制。这可能导致对资源的不当使用、隐私泄露等各种问题。
[0005]而且,在已知的方案中,认证和授权方与资源的提供方之间是紧耦合的。换言之,二者必须严格按照事先确定的协议或规则配合操作,完成对用户身份的认证、客户端应用的认证以及访问令牌的验证。这种紧耦合的机制导致认证和授权的灵活性不足。例如,授权服务器无法针对不同的资源和/或不同的资源所有者而执行具有针对性的认证和授权过程。
[0006]综合所述,本领域中需要一种更为有效地控制资源访问的解决方案。

【发明内容】

[0007]为了解决上述以及其他潜在问题,本发明提出了一种用于控制资源访问的技术方案。
[0008]在本发明的一个方面,提供一种用于控制资源访问的方法。所述方法包括:响应于针对资源的访问的请求,利用第一设备确定是否授权对所述资源的所述访问,所述资源由独立于所述第一设备的第二设备提供;以及利用关于所述访问的访问约束来定制所述访问令牌,以用于控制对所述资源的所述访问,所述访问令牌响应于确定授权对所述资源的所述访问而被生成。
[0009]在本发明的另一方面,提供一种用于控制资源访问的装置。所述装置包括:认证单元,被配置为响应于针对资源的访问的请求,利用第一设备确定是否授权对所述资源的所述访问,所述资源由独立于所述第一设备的第二设备提供;以及令牌定制单元,被配置为利用关于所述访问的访问约束来定制所述访问令牌,以用于控制对所述资源的所述访问,所述访问令牌响应于确定授权对所述资源的所述访问而被生成。
[0010]通过下文描述将会理解,根据本发明的实施例,访问令牌不仅可被用来指示允许或者拒绝资源访问请求,而且还可以利用一个或多个访问约束而被定制。如下文所述,这样的访问约束可以基于用户和/或资源的特性等各种因素生成,并且可以被事先或者动态地提供给认证和授权方。以此方式,可以借助于访问令牌而实现对资源访问的更精细粒度和更多维度的控制。而且,在某些实施例中,还可以实现对用户和/或客户端应用的定制认证。这种自适应的定制认证有利于进一步增强认证和授权的灵活性。本发明的其他特征和优点将通过下文描述而变得容易理解。
【附图说明】
[0011]通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显其中:
[0012]图1示出了适于用来实现本发明实施例的示例性计算机系统/服务器的示意性框图;
[0013]图2示出了本发明的实施例可实现于其中的示例性系统的示意性框图;
[0014]图3示出了根据本发明实施例的用于控制资源访问的方法的示意性流程图;
[0015]图4示出了根据本发明实施例的用于供用户指定访问要求的用户界面的示意图;
[0016]图5示出了根据本发明实施例的用于使用访问令牌的方法的示意性流程图;
[0017]图6示出了根据本发明实施例的用于控制资源访问的方法在OAuth架构中的实现的不意图;以及
[0018]图7示出了根据本发明实施例的用于控制资源访问的装置的示意性框图。
[0019]在附图中,相同或相似的标号被用来表示相同或相似的元素。
【具体实施方式】
[0020]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0021]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的方框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0022]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0023]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0024]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0025]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0026]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0027]计算机系统/服务器12也可以与一个或多个外部设备14 (例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0028]下面将详细描述本
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1