一:场景描述
用户有自己的门户系统A,希望将FineBI系统里面已经做好的模板直接挂载到A系统上面,使得用户可以通过一个入口查看。最终效果:登录A系统账号的同时也可以登录BI系统对应的用户账号,使得访问BI模板的时候不需要重复登录,并且BI系统设置的权限可以继承。
二:适用问题
三:实现方案
1、用户同步数据集
2、单点登录
3、iframe模板嵌入
四、操作步骤
1、首先写一个简单的用户系统A的界面模拟用户系统,模拟用户登录自己的系统看到自己的内容,使用MVC三层架构,在数据库创建相关的表finebi_user
用户系统A源码:
login.jsp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录</title>
</head>
<body>
<form action="LoginServlet" method="post">
用户名:<input type="text" name="uname"><br/>
密码:<input type="password" name="upwd" ><br/>
<input type="submit" value="登录">
</form>
</body>
</html>
loginfail.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>提示</title>
</head>
<body>
用户名和密码不匹配!
</body>
</html>
Welcome.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>提示</title>
</head>
<body>
登录成功!这里展示用户系统A的内容
</body>
</html>
LoginDao.java
package org.tyd.Dao;
import java.s