saiku - 集成单点登录
2015-10-14 23:47
393 查看
思路:
自定义一个loginCallbackFilter用于单点登录成功后执行模拟用户认证授权登录的操作。
当授权成功后所有配置需要授权才能访问的url就再也不会被任何filter拦截,可随意访问了。
详细过程
01/ 自定义loginCallbackFilter类/自定义sso的properties信息/自定义security的properties信息
02/在web.xml中配置cas sso的servlet 并指定servlet-mapping 的 url 为 /ssoLogin
03/调用单点登录接口带上用户名密码
04/单点登录成功后调转到sso配置的successURL 该url是虚拟的/security/login 目的是为了让 loginCallbackFilter 拦截这个URL进行过滤处理
05/loginCallbackFilter拦截 successURL
06/判断单点登录成功后写入的session对象是否存在,不存在说明授权失败,给出错误提示
07/存在就验证这个用户有没有存在于本地的mysql数据表user里
08/如果user表没有该用户,插入该用户到mysql表。当存在该用户时比对密码,如果密码不一致则更新user表中的密码。
09/至此本地mysql的user表中必定存在有单点登录的用户,调用sessionService的login方法执行认证授权操作[一定能通过]
10/此时,创建了用户的session并且系统已经授权完毕,isFullyAuthenticated() 为 true
11/重定向到targetUrl -> localhost:8080
12/通过调用/rest/saiku/session [GET] 获取到session信息
13/登录成功,进入管理台操作cube
探索过程中遇见的几个问题
单点登录过来的用户没有权限,那么将用户创建到本地mysql时怎么赋予权限
解决:默认给一个最低的ROLE_USER权限
自定义一个loginCallbackFilter用于单点登录成功后执行模拟用户认证授权登录的操作。
当授权成功后所有配置需要授权才能访问的url就再也不会被任何filter拦截,可随意访问了。
详细过程
01/ 自定义loginCallbackFilter类/自定义sso的properties信息/自定义security的properties信息
02/在web.xml中配置cas sso的servlet 并指定servlet-mapping 的 url 为 /ssoLogin
03/调用单点登录接口带上用户名密码
04/单点登录成功后调转到sso配置的successURL 该url是虚拟的/security/login 目的是为了让 loginCallbackFilter 拦截这个URL进行过滤处理
05/loginCallbackFilter拦截 successURL
06/判断单点登录成功后写入的session对象是否存在,不存在说明授权失败,给出错误提示
07/存在就验证这个用户有没有存在于本地的mysql数据表user里
08/如果user表没有该用户,插入该用户到mysql表。当存在该用户时比对密码,如果密码不一致则更新user表中的密码。
09/至此本地mysql的user表中必定存在有单点登录的用户,调用sessionService的login方法执行认证授权操作[一定能通过]
10/此时,创建了用户的session并且系统已经授权完毕,isFullyAuthenticated() 为 true
11/重定向到targetUrl -> localhost:8080
12/通过调用/rest/saiku/session [GET] 获取到session信息
13/登录成功,进入管理台操作cube
探索过程中遇见的几个问题
单点登录过来的用户没有权限,那么将用户创建到本地mysql时怎么赋予权限
解决:默认给一个最低的ROLE_USER权限
相关文章推荐
- français journal - 2015/10/13
- saiku - 登陆/选择cube 时发生了什么
- saiku - 配置saiku实时展现查询数据
- 妙用explain Plan Rows快速估算行
- performance tuning case: array search & date order by , data updated daily (use cursor solve it)
- saiku - 源码整合[maven整合]
- saiku - 源码整合[普通WEB项目]
- hdoj 2457 DNA repair 【AC自动机 + dp】
- POJ 1230 Pass-Muraille 贪心
- Failed to resolve base type System.Security.Principal.GenericIdentity for type System.Net.HttpListen
- 10004---Trail ~ New Data Model
- UVALive 4260 Fortune Card Game (Regionals 2008 Asia Taipei +DP)
- error: linker command failed with exit code 1 (use -v to see invocation)错误解决方法
- AI顶级会议列表 & ACL相关
- Communications link failure,The last packet successfully received from the server was *** millisecon
- DXDI section ----- SwapChain
- leetcode Climbing Stairs
- 1079. Total Sales of Supply Chain
- codeforces 585B Phillip and Trains(bfs)
- 【停课集训 10.14】【#4 training】