云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

大带宽_将虚拟磁盘存储为单个文件和多个文件_限时特惠

小七 141 0

数据存储_哪个_哪个建站平台好

DR:这是关于开发基于ASP.NET核心2.0和反应。在第一篇文章中,您构建了一个安全的webapi应用程序,它提供了一个包含ASP.NET核心2.0。在第二篇文章中,您基于React创建了一个单页应用程序(SPA)客户机来使用这个API。在本文中,您将使用Auth0将客户机-服务器系统与作用域和授权管理集成。您可以找到React客户端和ASP.NET此GitHub存储库中的服务器。"学习如何整合React和ASP.NET本实用教程中的核心应用程序。"在推特上留言API作用域为了增强您的客户机-服务器应用程序,您将实现对服务器资源的更细粒度的访问控制。这将保证只允许某些特定用户执行特定操作。特别是,您将在应用程序中添加一个API来创建新书,并将仅限某些用户访问此API。这个访问粒度可以通过使用作用域获得。作用域是OAuth2协议提供的一种功能,允许限制授予访问令牌的访问。为API创建作用域作为第一步,您需要为api创建作用域。因此,打开Auth0仪表板,单击API部分,然后选择在本系列的第一篇文章中创建的API。然后单击"范围"选项卡,如下所示:在这里,您可以通过指定名称和描述来定义api的作用域。作用域名称可以是任何字符串,但按照惯例,它通常采用操作:资源,其中action表示授予的操作,resource表示可以在其上执行操作的对象类型。所以,定义书籍和写作阅读:书籍范围对于您的API:API作用域的定义只是声明可以对服务器资源执行哪些操作。下一步,您需要将作用域与用户关联,以便授予他们访问服务器资源的能力。正在安装授权扩展要将作用域与用户关联,需要配置权限和角色。这可以通过在Auth0仪表板中使用Auth0授权扩展来实现。如果您从未使用过此扩展,则需要通过访问仪表板的"扩展"部分并通过按授权关键字筛选可用扩展来安装它,如下图所示:然后单击Auth0自动调整框以启动安装过程。系统将提示您选择要存储数据的存储器。对于这个简单的应用程序,大数据分析数据库,您将选择默认选项Webtask Storage:安装扩展后,您将看到它列在"已安装的扩展"选项卡中。配置权限和角色现在您已经安装了授权扩展,可以使用它来配置权限和角色。明确地说,它们的定义如下:权限是用户可以执行的操作,例如阅读图书列表或向列表添加新书。角色是权限的集合。例如,您可以为管理员定义一个角色,该管理员有权阅读图书列表并向列表添加新书。因此,单击Installed Extensions选项卡中显示的授权扩展,将打开一个新窗口。在这里,选择Permissions部分,然后单击右上角的createpermission按钮。系统将提示您提供定义权限的数据,如下所示:在这里,您将提供权限的名称、说明和权限应绑定到的客户端应用程序。注意:请确保权限的名称与相应的作用域完全相同。在您的情况下,您将为添加一个权限阅读:书籍和一个为写:书。对于这两个权限,请指定与React应用程序关联的客户端应用程序。最终配置应如下所示:现在您需要为您的应用程序定义两个角色:Admin,拥有您刚刚创建的两个权限,以及User,只拥有阅读:书籍许可。通过选择"角色"部分,然后单击"创建角色"按钮,将要求您提供有关要创建的角色的一些信息,如下图所示:使用此表单可创建两个角色。最终结果如下:向用户添加角色接下来,您需要将角色与用户关联起来。实际上,在授权扩展的"用户"部分,您将找到在Auth0平台中已经创建的所有用户。在这里,您可以通过选择每个用户、使用"角色"选项卡并单击"将角色添加到用户"按钮来为每个用户分配角色。现在您可以检查要分配给用户的角色,如下图所示:发布权限和规则作为授权扩展配置的最后一步,返利机器人是真的吗,您需要单击右上角的域下拉菜单并选择配置项:在显示的页面中,确保已启用权限,然后单击"发布规则"按钮:此操作为您的租户创建一个规则,该规则将在每次用户登录后执行。在Auth0平台中,规则是一个JavaScript函数,当用户通过身份验证时执行。新创建的规则将用户的权限添加到用户的配置文件中。您可以使用仪表板检查规则的代码。正在验证令牌作用域此配置过程的最后一步是创建一个新规则,该规则确保访问令牌中包含的作用域根据用户的权限有效。这意味着当用户通过身份验证时,只需要将用户的权限添加到他的访问令牌中。若要添加此规则,请转到Auth0仪表板中的"规则"部分,八斗大数据,单击"创建规则"按钮并选择空的规则模板。现在,为规则命名并将以下代码放入"代码"窗口:函数(用户、上下文、回调){如果(上下文.clientName!=='书店客户'){返回回调(null,user,开源建站系统,context);}常量权限=用户权限|| [];const requestedScopes=context.request.body.范围| |context.request.query.范围;常量筛选范围=requestedScopes.split('').filter((x)=>(x.indexOf(':')c.类型=="范围"&&c.发行人==要求。发行人))返回任务完成任务;变量范围=上下文。用户.FindFirst(c=>c.Type=="范围"&&c.Issuer==要求。发行人).值。拆分(' ');如果(范围。任何(s=>s==要求.范围)) 上下文。成功(要求);返回任务完成任务;}}HasScopeHandler类从AuthorizationHandler继承。它通过将当前上下文和授权要求作为参数来重写HandleRequirementAsync()方法。如果当前用户主体没有在授权要求中定义的受信任颁发者发出的范围声明,则授权被拒绝。否则,用户的作用域将与需求的作用域进行比较。只有当至少一个用户的作用域与需求的作用域匹配时,大数据系统,才授予授权。现在,您需要更改Startup类中的ConfigurationServices()方法,以便使新创建的授权需求和处理程序可用,如下所示:public void ConfigureServices(IServiceCollection服务){服务.AddAuthentication(选项=>{options.DefaultAuthenticateScheme= JwtBearerDefaults.AuthenticationScheme;options.DefaultChallengeScheme= JwtBearerDefaults.AuthenticationScheme;}).AddJwtBearer(选项=>{选项。权限=ConfigurationAuth0:权限"];选项。观众=配置