Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
ldp-docs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
doc
ldp-docs
Commits
3a643078
Commit
3a643078
authored
Jul 31, 2020
by
马超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 完善统一认证配置和使用文档
parent
fc63064b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
95 additions
and
8 deletions
+95
-8
LDP中应用统一认证及权限配置.md
操作文档/LDP中应用统一认证及权限配置.md
+95
-8
No files found.
操作文档/LDP中应用统一认证及权限配置.md
View file @
3a643078
...
...
@@ -91,9 +91,13 @@ function validate(resultData, userName) {

##
## 2.5 拷贝UAA资源库的前端资源
##
三、LDP前端脚手架标准接入流程
在LDP部署服务器上的用户目录的UAA资源库目录中,如果是普通用户的话,资源目录在
UAA的接入分为三种,一种是通过LDP脚手架接入,一种是通过非LDP脚手架接入,一种通过开放接口接入。如果是非LDP脚手架接入,参考
[
四、其它前端脚手架接入流程
](
#四、其它前端脚手架接入流程
)
。如果是通过开发接口接入,参考
[
五、开放接口接入流程
](
#五、开放接口接入流程
)
。
#### 3.1 拷贝UAA资源库的前端资源
通过脚手架接入,需要在LDP部署服务器上的用户目录的UAA资源库目录中,如果是普通用户的话,资源目录在
```
shell
/home/
${
username
}
/.ldp/uaaresources
...
...
@@ -135,7 +139,7 @@ cp -r mcs/ example/
这样前端资源的静态文件拷贝就完成了,如果有某个领域的登录界面需要修改,就可以到对应的认证域编码(realmCode)目录下修改模板文件。
####
2.6
添加系统标识为领域的账号
####
3.2
添加系统标识为领域的账号
打开菜单
**系统维护**
=>
**账号管理**
,点击
**新增**
按钮
...
...
@@ -147,7 +151,7 @@ cp -r mcs/ example/
####
2.7
给新增的应用添加菜单
####
3.3
给新增的应用添加菜单
打开菜单
**系统维护**
=>
**应用菜单维护**
,选中刚才
**新建的应用**
...
...
@@ -159,7 +163,7 @@ cp -r mcs/ example/
新增菜单后,需要新建角色并对新菜单进行授权。
####
2.8
新增新应用角色并对菜单进行授权
####
3.4
新增新应用角色并对菜单进行授权
打开菜单
**权限管理**
=>
**角色管理**
,点击
**新增**
按钮
...
...
@@ -177,13 +181,13 @@ cp -r mcs/ example/

####
2.9
修改网关配置文件
####
3.5
修改网关配置文件
打开nacos,在网关的配置文件gateway-service-naocs.yml种添加上应用配置 id、realmcode、clientId。
**其中id为自定义,realmcode是认证域编码,clientId是应用ID**
。

####
2. 10
修改前端脚手架工程
####
3.6
修改前端脚手架工程
通过git clone 前端脚手架工程
...
...
@@ -197,7 +201,7 @@ git clone http://gitlab.dev.shxrtech.com/ldp/ldp-appui-example.git -b develop
并且修改
**VUE_APP_PROXY_SERVER**
为对应的网关地址。
####
2.11
启动前端工程
####
3.7
启动前端工程
执行以下命令,启动脚手架工程
...
...
@@ -216,5 +220,88 @@ npm run dev

## 四、其它前端脚手架接入流程
#### 4.1 非LDP脚手架接入
如果使用非LDP前端脚手架接入,同时也使用UAA的前端登录界面,可以直接跳转到UAA登录界面
http://{server}/uaa-service/viewlogin?realmcode={realmcode}&clientid={clientid}&redirect={redirect}
URL参数含义
| 参数 | 说明 | 示例 |
| ------------- | ---------------------- | ------------------------------------ |
|
**server**
| 服务地址 | sinra-server0:9080 |
|
**realmcode**
| 认证域编码 | app |
|
**clientid**
| 应用ID | 1552294656514 |
|
**redirect**
| 登录成功后的重定向地址 | http://sinra-server0:9080/example/#/ |
按照示例跳转到以下地址:
http://sinra-server0:9080/uaa-service/viewlogin?realmcode=app&clientid=1552294656514&redirect=http%3A%2F%2Fsinra-server0%3A9080%2Fexample%2F%23%2F
登录成功后,会直接重定向到URL上的redirect地址,这里会重定向到:
http://sinra-server0:9080/example/#/?token={token}&appid={clientid}
这里需要实现截取回调地址上的token和clientId,并在之后的请求的请求头上携带上token的值。
```
javascript
//在路由守卫中获取token,伪代码代码示例参考:
router
.
beforeEach
(
async
(
to
,
from
,
next
)
=
>
{
//获取用户token
constuserToken
=
to
.
query
[
'token'
]
if
(
!
userToken
)
{
//不存在token,跳转uaa登录地址
window
.
top
.
location
.
href
=
uaa
认证接口地址
}
else
{
//存在token通过接口获取用户信息
axios
.
get
(
'mcs-service/user/userinfo'
,
{
headers
:
{
//token
X
-
Ldp
-
Token
:
userToken
,
//应用领域编码
X
-
Realm
:
'app'
}
}).
then
(
res
=
>
{
console
.
log
(
'用户信息:'
+
res
.
data
)
}).
catch
(
error
=
>
{
console
.
log
(
'请求失败'
)
})
})
```
## 五、开放接口接入流程
#### 5.1 通过开放接口获取token
如果应用想使用自己的登录界面,可以在MCS创建完服务、实例、领域、应用后,通过开放接口的方式获取到token。
开放接口地址:
**http://{server}/uaa-service/open/login**
参数分别为:
| 参数 | 说明 |
| --------- | ---------- |
| uname | 用户名 |
| upass | 用户密码 |
| clientid | 应用ID |
| realmcode | 认证域编码 |
接口信息详情请参考:http://api.dev.shxrtech.com/project/65/interface/api/2314
获取到请求返回的token之后,需要在之后的请求头中携带token
```
javascript
headers
:
{
//token
X
-
Ldp
-
Token
:
userToken
,
//应用领域编码
X
-
Realm
:
'app'
}
```
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment