# 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框架页面嵌套 [返回目录] ![1](./img/0.png) ## 解决方案 修改业务系统的MainController ![1](./img/01.png) # Q2 单点报错 [返回目录] 如果是v3检查sso.properties, 如果是3.5在系统页面修改 ## 解决方案 详细操作参照 [Q6](#Q6) [Q7](#Q7) # Q3 门户应用图片位置 [返回目录] ![1](./img/00.png) - 路径: - /assets/img/mng - /static/img/monitor - /static/img/data - /static/img/join - /static/img/app - 命名规则:应用编码.png # Q4 门户收藏功能没法收藏系统菜单 [返回目录] ## 解决方案 门户不做修改,各个系统需要在default.html里引用storeup.js,实现对菜单的收藏 # Q5 Memcache 安装及使用方法 [返回目录] ## 解决方案 ![1](./img/3.png) # Q6 V3 单点登陆配置步骤 [返回目录] ## 第一步 业务系统和门户配置相同的memcached ``` WebRoot\WEB-INF\classes\config\jcache.properties ``` ![1](./img/4.png) ## 第二步 在bsp中添加业务应用(应用地址配置正确),并配置用户权限 ![1](./img/5.png) ## 第三步 更改业务系统sso.properties ![1](./img/6.png) # Q7 V3.5 单点登陆配置步骤 [返回目录] ## 第一步 业务系统和门户配置相同的memcached ``` WebRoot\WEB-INF\classes\config\jcache.properties ``` ![1](./img/4.png) ## 第二步 在bsp中添加业务应用(应用地址配置正确),并配置用户权限 ![1](./img/5.png) ## 第三步 V3.5系统可直接在系统管理菜单中修改以下配置项 ![1](./img/7.png) ## 第四步 业务系统里,添加/web/到web.xml ![1](./img/8.png) ## 第五步 添加门户地址到业务系统白名单web.xml > (没有此过滤器则忽略) ![1](./img/9.png) ## 第六步 修改过滤器httpHeaderSecurity > (没有此过滤器则忽略第四步,位置web.xml) ![1](./img/10.png) # Q8 COOKIE 资源访问被阻止 [返回目录] ![1](./img/011.png) ## 解决方案 web.xml中添加如下代码 ![1](./img/12.png) ``` blockContentTypeSniffingEnabled false xssProtectionEnabled true ``` # Q9 业务应用待办自助接入方法 [返回目录] > 即 通知公告数据不显示、待办任务数据不显示等 ## 第一步:添加业务系统接口文件到门户 ``` \WebRoot\WEB-INF\classes\com\inspur\service\ ``` ## 第二步:配置业务系统接口: ``` \WebRoot\WEB-INF\classes\spring\service-consumerContext.xml ``` ![1](./img/14.png) ## 第三步:注入待办服务 配置业务系统接口: ``` \WebRoot\WEB-INF\classes\spring\service-consumerContext.xml ``` ![1](./img/15.png) ## 第四步:在业务系统提供待办服务 > (修改业务系统配置文件)以审批系统为例,修改审批如下配置文件 ![1](./img/16.png) ``` \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次登录 ![1](./img/17.png) # Q12 规定时间内未对系统进行操作会自动退出系统并提示 [返回目录] 门户的web.xml里配置空闲超时,超过这个时间会自动退出,这里的300,单位是分钟 ![1](./img/18.png) # Q13 门户图标文字等修改说明 [返回目录] ![1](./img/19.png) - 位置一 ``` 修改\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。下图中标红部分为首页显示图片的位置 ![1](./img/20.png) # Q14 修改首页信息 [返回目录] 图标不显示,怎么查看图标应该添加的位置 ## 解决方案 - 开浏览器的控制台 - step1:选中浏览器控制台的左侧小箭头按钮(选中后会变为蓝色) - step2:选中没有图片的应用 - step3:浏览器控制台中,会自动选中一行代码(下图中,蓝色部门) 选中部分中会显示图片的位置。在对应位置添加图片即可(如图所示应在/static/img/app文件夹下添加一个名为20171107161809100100.png的图片) ![1](./img/21.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 ```