主要内容

基于角色的访问

请注意

中只支持基于角色的访问万博1manbetxMATLAB®Web应用程序服务器™产品而不是开发版本MATLAB Web应用服务器包含在MATLAB编译器™.有关详细信息,请参见MATLAB Web应用服务器的差异

请注意

要使用基于角色的访问,您需要:

  • 在服务器上启用SSL。有关更多信息,请参见启用SSL

  • 在服务器上启用认证。有关更多信息,请参见身份验证

在服务器上启用基于角色的访问可以让您决定哪些用户可以编写应用程序,哪些用户可以使用它们。

MATLAB Web应用服务器万博1manbetx基于角色的访问支持两种角色:作者用户

  • 一个作者可以添加,删除和运行web应用程序MATLAB Web应用服务器.一个作者看到一个管理应用程序按钮在服务器主页上。

  • 一个用户只能运行web应用程序从MATLAB Web应用服务器主页。一个用户看到一个诊断按钮在服务器主页上。

启用基于角色的访问。

  1. 检查是否启用SSL。有关更多信息,请参见启用SSL

  2. 检查是否启用了认证。有关更多信息,请参见身份验证

  3. 创建一个名为webapps_app_roles.json然后把它放在webapps_private文件夹中。

    webapps_private文件夹可于以下网址找到:

    操作系统 文件夹位置

    窗户®

    % ProgramData % \ MathWorks \ webapps \R2020b\ config \ webapps_private

    Linux®

    /地方/ MathWorks / webapps /R2020b/ config / webapps_private

    macOS

    /图书馆/应用程序/ MathWorks 万博1manbetx/ webapps /支持R2020b/ config / webapps_private

    的JSON模式webapps_app_roles.json是:

    {“版本”:“1.0.0”,“appRoles”:[{" id ":“用户”、“描述”:< >文本描述用户角色,"用户":{<属性名称和值来确定最终用户分配用户角色>},“团体”:{<属性名称和值来确定组织分配给用户的角色 > } }, { " id”:“作者”、“描述”:<文本描述作者的角色>,“用户”:{<属性名和值来标识分配给Author角色>的终端用户},"groups":{<属性名和值来标识分配给Author角色>的组}}]}

    • 版本:指定JSON模式的版本。的默认值R2020b是:1.0.0

    • id:指定角色名。你可以指定用户作者.只支持这两个角色。万博1manbetx

    • 描述:指定每个角色的描述信息。例如:

      “description”:“作者可以上传、删除和执行web应用程序。”

    • 用户:指定一个属性,该属性唯一地标识一组可以承担角色的经过身份验证的最终用户作者或者一个用户

      属性名称取决于您使用的身份验证类型。

      例如,如果您使用LDAP进行身份验证,您可以按如下方式填写JSON模式:

      "users":{"email": ["bishop@myboston.com", "queen@myboston.com"]}
      在上面的模式中,一旦终端用户通过身份验证,MATLAB Web应用服务器检查通过身份验证的用户是否有电子邮件作为属性,并检查属性值(在本例中为电子邮件地址)是否在模式中列出。当两个检查都成功时,最终用户将被分配一个角色。

    • :指定一个属性名和相应的值,唯一标识可以承担角色的经过身份验证的最终用户组作者或者一个用户

      属性名称取决于您使用的身份验证类型。使用允许您一次性为整个终端用户集分配一个角色。

      例如,如果您使用LDAP进行身份验证,您可以按如下方式填写JSON模式:

      "groups": {"memberOf": ["CN=Marketing,OU=Mail,DC=ldap,DC=myboston,DC=com", "CN=Development,OU=Mail,DC=ldap,DC=myboston,DC=com"]}
      在上面的模式中,一旦终端用户通过身份验证,MATLAB Web应用服务器检查通过身份验证的用户是否有memberOf作为属性,并检查该属性的值是否在模式中列出。当两个检查都成功时,最终用户将被分配一个角色。

      模式中指定的属性需要是集合属性或组属性。

提示

  1. 您不需要指定两者用户在每个角色的模式中,除非这是获得唯一一组最终用户的唯一方法。

  2. 中使用属性用户字段用户角色要标识一组用户,则需要在用户字段作者角色来标识一组用户。同样的条件适用于

MATLAB Web应用服务器首先检查通过身份验证的用户是否可以担任作者在检查之前用户的角色。如果对两个角色的检查都失败,则拒绝终端用户访问服务器。

例子webapps_app_roles.jsonLDAP认证文件

{“版本”:“1.0.0”,“appRoles”:[{" id ":“用户”、“描述”:“一个用户只能执行网络应用。”,“组织”:{“memberOf”:[“CN =营销,OU =邮件,DC = ldap, DC = myboston, DC = com”,“CN =发展,OU =邮件,DC = ldap, DC = myboston, DC = com " ] } }, { " id”:“作者”、“描述”:“一个作家可以上传,删除和执行网络应用。”,“用户”:{“电子邮件”:["bishop@myboston.com", "queen@myboston.com"]}}]}

例子webapps_app_roles.json文件Azure广告的身份验证

{“版本”:“1.0.0”,“appRoles”:[{" id ":“用户”、“描述”:“一个用户只能执行网络应用。”,“组织”:{“团体”:[" 1 a23456 ab2c - 4444 a123 - 12345 b3a81af”,“2 b3456cd-e8ed-4fcf-ac55-6b79b0781eed  " ] } }, { " id”:“作者”、“描述”:“一个作家可以上传,删除和执行网络应用。”,“用户”:{“隐喻”:["bishop@myboston.com", "queen@myboston.com"]}}]}

谨慎

的JSON模式语法webapps_app_roles.json严格执行。模式语法中的错误可能导致服务器无法启动,或者在尝试登录时被拒绝访问服务器。

相关的话题