前页 后页

启用安全性的模型中的用户凭证

如果通过Pro Cloud Server连接的模型通过模型凭证或OpenID身份验证启用了用户安全性,那么您将必须对用户进行身份验证,然后才能检索,更新,创建或删除资源/资源功能。用户通过身份验证后,将获得一个用户身份验证令牌,您必须将其与OSLC GET和POST请求一起传递。除非您传递用户身份验证令牌,否则Pro Cloud Server将不会处理“启用安全性”模型上的OSLC请求。

要获取用户认证令牌:

  • 在启用了OpenID身份验证的模型中,发布授权码并将URI重定向到特定的URL;可以通过在authorizationURI端点(在服务提供商资源中指定)对用户进行授权来获得授权码;重定向URI是OpenID服务器将授权代码发送到的URI(在OpenID服务器配置中指定)
  • 在启用了模型凭证安全性的模型中,将用户的Enterprise Architect模型安全性凭证(用户ID和密码)发布到特定的URL;这些凭据与您在启用了安全性的模型中的“登录EA信息库”对话框中键入的凭据相同
  • 成功验证后,返回的XML将在XML元素'ss:useridentifier'中包含用户身份验证令牌(以及其他信息)。

在启用安全性的模型中验证用户凭据

行动

1个

如果模型具有:

  • 已启用OpenID身份验证,请转到步骤2
  • Windows NTLM身份验证已启用,请转到步骤3
  • 启用了模型凭证安全性,请转到步骤4

2

通过发布授权码并将URI重定向到以下方式来验证用户ID:

网址:<协议>:// <服务器> / <型号名称> / oslc / am / login /

POST正文:sso = openid; code = <授权码>; redirecturi = <REDIRECT URI>;

转到步骤5。

3

通过发布到以下URL来获取用户身份验证令牌:

网址:<协议>:// <服务器> / <型号名称> / oslc / am / login /

POST正文:sso = ntlm;

转到步骤5。

4

通过将其用户的Enterprise Architect模型安全性凭证过帐来验证用户ID:

网址:<协议>:// <服务器> / <型号名称> / oslc / am / login /

POST正文:uid = <用户ID>; pwd = <PASSWORD>;

5

如果验证成功,则响应通常为:

<?xml版本=“ 1.0”编码=“ UTF-8”?>

<rdf:RDF xmlns:rdf =“ http://www.w3.org/1999/02/22-rdf-syntax-ns#”

xmlns:ss =“ http://www.sparxsystems.com.au/oslc_am#”

xmlns:foaf =“ http://xmlns.com/foaf/0.1/”>

<ss:登录>

<!-布尔值,指定模型是否允许资源创建/更新->

<ss:readonlymodel> VALUE </ ss:readonlymodel>

<!-布尔值,指定您是否具有有效的Pro Cloud Server许可证->

<ss:validlicense> VALUE </ ss:validlicense>

<!-指定启用安全性模型中用户的全名和用户ID->

<ss:userfullname>

<foaf:Person>

<foaf:name>全名</ foaf:name>

<foaf:nick>用户ID </ foaf:nick>

</ foaf:人员>

</ ss:userfullname>

<!-指定用户身份验证令牌->

<ss:useridentifier>用户认证令牌</ ss:useridentifier>

<!-在支持OpenID认证的模型中指定OpenID访问令牌->

<ss:accesstoken> OPENID访问令牌</ ss:accesstoken>

<!-指定支持OpenID身份验证的模型中的OpenID刷新令牌->

<ss:refreshtoken> OPENID刷新令牌</ ss:refreshtoken>

<!-布尔值,它指定您是否具有创建/更新资源的权限->

<ss:elementpermission> VALUE </ ss:elementpermission>

<!-布尔值,指定您是否有权更新图表->

<ss:diagrampermission> VALUE </ ss:diagrampermission>

<!-布尔值,它指定您是否具有创建/更新资源测试的权限->

<ss:testpermission> VALUE </ ss:testpermission>

<!-布尔值,它指定您是否有权创建/更新资源分配->

<ss:resourceallocationpermission> VALUE </ ss:resourceallocationpermission>

<!-布尔值,指定您是否具有创建/更新资源维护项的权限->

<ss:maintenanceitempermission> VALUE </ ss:maintenanceitempermission>

<!-布尔值,它指定您是否有权创建/更新资源项目管理项->

<ss:projectmanagementitempermission> VALUE </ ss:projectmanagementitempermission>

</ ss:login>

</ rdf:RDF>

通过OSLC请求传递用户身份验证令牌

成功验证用户凭证后,您将在每个OSLC请求中传递用户身份验证令牌。也就是说,传入用户身份验证令牌:

  • 使用GET请求检索资源或资源功能XML时,将其作为查询字符串参数'useridentifier'的值
  • 使用POST RDF / XML作为XML元素'ss:useridentifier'的值创建/更新资源或资源功能时

通过GET请求传递用户身份验证令牌

对于GET请求,将用户身份验证令牌作为查询字符串参数'useridentifier'的值传递:

  • <协议>:// <服务器> / <型号名称> / oslc / am / OSLC REQUEST /?useridentifier = <用户授权令牌>

例子

没有。

输入示例

1个

检索Enterprise Architect包资源的属性:

  • 使用GUID {5147E138-1F14-4738-B721-5FCC0F8821A8}
  • 在启用安全性的模型中
  • 用户身份验证令牌为{72825AF9-E116-48f1-9DF8-77815E66B1A7}
http:// localhost:480 / firebird_model / oslc / am / resource / pk_ {5147E138-1F14-4738-B721-5FCC0F8821A8} /?useridentifier = {72825AF9-E116-48f1-9DF8-77815E66B1A7}

2

检索所有资源:

  • 名称为Class1
  • 在启用安全性的模型中
  • 用户身份验证令牌为{72825AF9-E116-48f1-9DF8-77815E66B1A7}
http:// localhost:480 / firebird_model / oslc / am / qc /?useridentifier = {72825AF9-E116-48f1-9DF8-77815E66B1A7}&oslc.where = dcterms:title =“ Class1”

通过OSLC POST请求传递用户身份验证令牌

对于OSLC POST请求,您需要将用户身份验证令牌作为POST请求随附的RDF / XML的一部分传递。

例子

没有。

输入项

1个

在启用安全性的模型中,其中:

  • 用户身份验证令牌为{72825AF9-E116-48f1-9DF8-77815E66B1A7}
  • 使用Enterprise Architect GUID {965A54C2-6A89-46d7-AB7E-F192668010CA}在包下创建类'Class1'。
便笺,复杂性和版本已设置。

<?xml版本=“ 1.0”编码=“ UTF-8”?>

<rdf:RDF xmlns:oslc_am =“ http://open-services.net/ns/am#”

xmlns:rdf =“ http://www.w3.org/1999/02/22-rdf-syntax-ns#”

xmlns:dcterms =“ http://purl.org/dc/terms /

xmlns:foaf =“ http://xmlns.com/foaf/0.1/”

xmlns:ss =“ http://www.sparxsystems.com.au/oslc_am#”>

<oslc_am:资源>

<!-必需属性->

<dcterms:title> Class1 </ dcterms:title>

<dcterms:type>类</ dcterms:type>

<ss:parentresourceidentifier> pk_ {259A54C2-6A89-46d7-AB7E-F192668010CA} </ ss:parentresourceidentifier>

<dcterms:description>通过OSLC创建</ dcterms:description>

<ss:complexity>简单</ ss:complexity>

<ss:version> 1.0 </ ss:version>

<ss:useridentifier> {72825AF9-E116-48f1-9DF8-77815E66B1A7} </ ss:useridentifier>

</ oslc_am:资源>

</ rdf:RDF>

2

在启用安全性的模型中,其中:

  • 用户身份验证令牌为{72825AF9-E116-48f1-9DF8-77815E66B1A7}
  • 具有Enterprise Architect GUID {567854C2-6A89-46d7-AB7E-F192668010CA}的Actor'Actor1'的名称已更新为'Actor 1_New'
<?xml版本=“ 1.0”编码=“ UTF-8”?>

<rdf:RDF xmlns:oslc_am =“ http://open-services.net/ns/am#”

xmlns:rdf =“ http://www.w3.org/1999/02/22-rdf-syntax-ns#”

xmlns:dcterms =“ http://purl.org/dc/terms/”

xmlns:foaf =“ http://xmlns.com/foaf/0.1/”

xmlns:ss =“ http://www.sparxsystems.com.au/oslc_am#”>

<oslc_am:资源>

<!-必需属性->

<dcterms:identifier> el_ {567854C2-6A89-46d7-AB7E-F192668010CA} </ dcterms:identifier>     

<dcterms:title> Actor1_New </ dcterms:identifier>

<ss:useridentifier> {72825AF9-E116-48f1-9DF8-77815E66B1A7} </ ss:useridentifier>

</ oslc_am:资源>

</ rdf:RDF>

从启用安全性的模型注销

通常,闲置30分钟会使您退出“启用安全性”模型;您将必须通过将用户凭证发布到凭证验证URL来再次登录。您还可以通过在此GET请求中将用户身份验证令牌作为查询字符串参数'useridentifier'的值传入来注销模型:

  • <协议>:// <服务器> / <型号名称> / oslc / am / logout /?useridentifier = <用户认证令牌>
如果成功(即,传入的用户身份验证令牌有效),您将收到200 OK HTTP响应,并且您将不再能够访问“启用安全性”模型。

如果不成功(即,传入的用户身份验证令牌无效),您将收到404 Not Found HTTP响应。

笔记

  • 可通过Pro Cloud Server使用有效许可证使用此功能
  • Pro Cloud Server不会处理OSLC请求,除非在启用了安全性的模型上将用户身份验证令牌与请求一起传入
  • 30分钟不活动将使您退出启用安全性的模型;您必须通过将用户凭证发布到凭证验证URL来再次登录

学到更多