前页 | 后页 |
启用安全性的模型中的用户凭证
如果通过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个 |
如果模型具有:
|
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包资源的属性:
|
2 |
检索所有资源:
|
通过OSLC POST请求传递用户身份验证令牌
对于OSLC POST请求,您需要将用户身份验证令牌作为POST请求随附的RDF / XML的一部分传递。
例子
没有。 |
输入项 |
---|---|
1个 |
在启用安全性的模型中,其中:
<?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 |
在启用安全性的模型中,其中:
<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 = <用户认证令牌>
如果不成功(即,传入的用户身份验证令牌无效),您将收到404 Not Found HTTP响应。
笔记
- 可通过Pro Cloud Server使用有效许可证使用此功能
- Pro Cloud Server不会处理OSLC请求,除非在启用了安全性的模型上将用户身份验证令牌与请求一起传入
- 30分钟不活动将使您退出启用安全性的模型;您必须通过将用户凭证发布到凭证验证URL来再次登录