主要内容

基于角色的访问

请注意

在独立的支持基于角色的访问万博1manbetxMATLAB®Web应用程序服务器™包括在产品而不是开发版本MATLAB编译器™。有关详细信息,请参见MATLAB Web应用程序服务器的区别

先决条件

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

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

创建webapps_app_roles.json文件

支持基于角色的访问服务器允许您决定哪些用户可以作者应用和哪些可以使用它们。

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 \R2022b\ config \ webapps_private

    Linux®

    /地方/ MathWorks / webapps /R2022b/ config / webapps_private

    macOS

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

    JSON模式webapps_app_roles.json是:

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

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

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

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

      “描述”:“一个作家可以上传、删除和执行网络应用。”

    • 用户:指定一个属性,惟一地标识一组身份验证终端用户谁能承担的角色作者或者一个用户

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

      例如,如果您正在使用LDAP身份验证,您可以填写JSON模式如下:

      “用户”:{“电子邮件”:[“bishop@myboston.com”、“queen@myboston.com”]}
      在上面的模式中,一个终端用户身份验证后,MATLAB Web应用程序服务器检查身份验证的用户电子邮件作为一个属性,并检查属性值(电子邮件地址在本例中)中列出的模式。当检查成功,最终用户将分配一个角色。

    • :指定一个属性名称和对应的值唯一地标识的身份验证终端用户谁能承担的角色作者或者一个用户

      属性名称取决于您正在使用的身份验证类型。使用允许您指定整个套终端用户角色。

      例如,如果您正在使用LDAP身份验证,您可以填写JSON模式如下:

      “组织”:{“memberOf”: [“CN =营销,OU =邮件,DC = ldap, DC = myboston, DC = com”,“CN =发展,OU =邮件,DC = ldap, DC = myboston, DC = com”]}
      在上面的模式中,一个终端用户身份验证后,MATLAB Web应用程序服务器检查身份验证的用户memberOf作为一个属性,检查模式中列出的属性的值。当检查成功,最终用户将分配一个角色。

      属性中指定的模式需要集体或一组属性。

提示

  1. 你不需要指定用户模式中的每个角色,除非这是唯一的方式获得一组独特的终端用户。

  2. 如果你使用一个属性用户字段用户角色识别一组用户,您需要使用相同的属性用户字段作者角色识别一组用户。同样的状况也适用于

MATLAB Web应用程序服务器首先检查经过身份验证的用户是否可以承担的角色作者在检查之前用户的角色。如果检查对角色失败,则拒绝用户访问到服务器。

例子webapps_app_roles.json申请LDAP身份验证

{“版本”:“1.0.0”,“appRoles”: [{" id ":“用户”、“描述”:“一个用户只能执行web应用程序”。“组织”:{“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 ":“用户”、“描述”:“一个用户只能执行web应用程序”。“团体”,“组织”:{:[" 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严格执行。模式语法中的错误可能导致服务器没有启动,或者你被拒绝访问服务器,当你尝试登录。

相关的话题