# webportal
**Repository Path**: Component_Technology/webportal
## Basic Information
- **Project Name**: webportal
- **Description**: 工作门户常见问题总结
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2020-07-23
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
目录
- 框架页面嵌套
- 单点报错
- 门户应用图片位置
- 门户收藏功能没法收藏系统菜单
- Memcache 安装及使用方法
- V3 单点登陆配置步骤
- V3.5 单点登陆配置步骤
- COOKIE 资源访问被阻止
- 业务应用待办自助接入方法
- 密码复杂度校验
- 单用户并发控制
- 规定时间内未对系统进行操作会自动退出系统并提示
- 门户图标文字等修改说明
- 修改首页信息
- 单点设置问题
- java.lang.IllegalArgumentException: Key must not be blank
# Q1框架页面嵌套 [返回目录]

## 解决方案
修改业务系统的MainController

# Q2 单点报错 [返回目录]
如果是v3检查sso.properties, 如果是3.5在系统页面修改
## 解决方案
详细操作参照 [Q6](#Q6) [Q7](#Q7)
# Q3 门户应用图片位置 [返回目录]

- 路径:
- /assets/img/mng
- /static/img/monitor
- /static/img/data
- /static/img/join
- /static/img/app
- 命名规则:应用编码.png
# Q4 门户收藏功能没法收藏系统菜单 [返回目录]
## 解决方案
门户不做修改,各个系统需要在default.html里引用storeup.js,实现对菜单的收藏
# Q5 Memcache 安装及使用方法 [返回目录]
## 解决方案

# Q6 V3 单点登陆配置步骤 [返回目录]
## 第一步
业务系统和门户配置相同的memcached
```
WebRoot\WEB-INF\classes\config\jcache.properties
```

## 第二步
在bsp中添加业务应用(应用地址配置正确),并配置用户权限

## 第三步
更改业务系统sso.properties

# Q7 V3.5 单点登陆配置步骤 [返回目录]
## 第一步 业务系统和门户配置相同的memcached
```
WebRoot\WEB-INF\classes\config\jcache.properties
```

## 第二步 在bsp中添加业务应用(应用地址配置正确),并配置用户权限

## 第三步 V3.5系统可直接在系统管理菜单中修改以下配置项

## 第四步 业务系统里,添加/web/到web.xml

## 第五步 添加门户地址到业务系统白名单web.xml
> (没有此过滤器则忽略)

## 第六步 修改过滤器httpHeaderSecurity
> (没有此过滤器则忽略第四步,位置web.xml)

# Q8 COOKIE 资源访问被阻止 [返回目录]

## 解决方案 web.xml中添加如下代码

```
blockContentTypeSniffingEnabled
false
xssProtectionEnabled
true
```
# Q9 业务应用待办自助接入方法 [返回目录]
> 即 通知公告数据不显示、待办任务数据不显示等
## 第一步:添加业务系统接口文件到门户
```
\WebRoot\WEB-INF\classes\com\inspur\service\
```
## 第二步:配置业务系统接口:
```
\WebRoot\WEB-INF\classes\spring\service-consumerContext.xml
```

## 第三步:注入待办服务
配置业务系统接口:
```
\WebRoot\WEB-INF\classes\spring\service-consumerContext.xml
```

## 第四步:在业务系统提供待办服务
> (修改业务系统配置文件)以审批系统为例,修改审批如下配置文件

```
\WebRoot\WEB-INF\classes\spring\service-consumerContext.xml
```
# Q10 密码复杂度校验 [返回目录]
登陆时校验密码复杂度,密码太简单不符合规则提示修改密码
> 需要bsp的constant.properties配置文件里配置密码复杂度
```
#simple|complex
app.password.strength=complex
app.simple.password=e10adc3949ba59abbe56e057f20f883e
app.complex.password=a1e0476879cab2a76cc22c80bbf364dd
```
# Q11 单用户并发控制 [返回目录]
> 门户的web.xml里添加过滤器
```
kickoutFilter
com.inspur.web.filter.KickoutSessionFilter
excludes
*.jpg,*.jsp,*.ico,*.css,*.html,*.png,*.js,*.gif,*.swf,*/static/
encode
UTF-8
kickoutFilter
/*
REQUEST
INCLUDE
```
- 门户的kickout.properties配置文件,配置如下配置 ,最大会话数配置为1是同一时间段只允许用户1次登录

# Q12 规定时间内未对系统进行操作会自动退出系统并提示 [返回目录]
门户的web.xml里配置空闲超时,超过这个时间会自动退出,这里的300,单位是分钟

# Q13 门户图标文字等修改说明 [返回目录]

- 位置一
```
修改\WEB-INF\classes\constant.properties中的app.title的值
```
- 位置二
```
主办单位修改\WEB-INF\classes\constant.properties中的app.organizer的值
承办单位修改\WEB-INF\classes\constant.properties中的app.assistance的值
技术支持修改\WEB-INF\classes\constant.properties中的app.support的值
```
- 位置三
```
修改pages\login\header.html中的值
```
> 注:constant.properties的所有中文都是unicode编码,修改的时候要先把中文转为unicode再替换
- 修改登录页面的图片。
登录页面图片缩在的位置为pages\login.html。下图中标红部分为首页显示图片的位置

# Q14 修改首页信息 [返回目录]
图标不显示,怎么查看图标应该添加的位置
## 解决方案
- 开浏览器的控制台
- step1:选中浏览器控制台的左侧小箭头按钮(选中后会变为蓝色)
- step2:选中没有图片的应用
- step3:浏览器控制台中,会自动选中一行代码(下图中,蓝色部门)
选中部分中会显示图片的位置。在对应位置添加图片即可(如图所示应在/static/img/app文件夹下添加一个名为20171107161809100100.png的图片)

# Q15 单点设置问题 [返回目录]
sso.properties
```
#true|false
app.sso=true
#true|false
app.sso.login=false
```
## 解析
```
app.sso
```
表示是否通过网关进行登陆
```
app.sso.login
```
单独登录某个业务系统。如果改参数为true.则登录入口为门户,否则为各个业务系统
# Q16 java.lang.IllegalArgumentException: Key must not be blank [返回目录]
```
java.lang.IllegalArgumentException: Key must not be blank
at net.rubyeye.xmemcached.utils.ByteUtils.getBytes(ByteUtils.java:69)
at net.rubyeye.xmemcached.XMemcachedClient.get0(XMemcachedClient.java:1056)
at net.rubyeye.xmemcached.XMemcachedClient.get(XMemcachedClient.java:1016)
at net.rubyeye.xmemcached.XMemcachedClient.get(XMemcachedClient.java:1027)
at net.rubyeye.xmemcached.XMemcachedClient.get(XMemcachedClient.java:1049)
at com.inspur.mng.core.session.provider.impl.XmemcachedSessionProvider.getSession(Unknown Source)
at com.inspur.mng.core.action.BaseController.getCurrentUser(Unknown Source)
```
## 解决方案
可能是memecache 连接数达到上限 。将连接数调高
> linux 命令
```
/usr/local/bin/memcached -d -l IP -p 11211 -u root -m 81920 -P /var/run/memcached.pid
```