壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1974|回复: 0

[POWER-BI] power-bi与OA系统集成,实现单点登陆

[复制链接]
发表于 2012/2/15 11:03:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。

PowerBI前端浏览可以很好的与其他的系结合,如与OA办公系统结合,主要使用Cookie实现单点登录。

用户在单点登录服务器的登录页面中,输入用户名和密码,然后单点登录服务器会对用户名和密码进行认证。认证通过之后,单点登录服务器会和应用程序进行一个比较复杂的交互,这通常是某种授权机制。授权完成后,回到Web应用。Web应用此时就完成了成功的登录, 然后单点登录服务器会在客户端创建一个Cookie。这个Cookie是一个加密的Cookie,其中保存了用户登录的信息(如用户名和密码)。如果用户此时希望进入PowerBI前端页面,寻找客户端的Cookie,根据Cookie中保存的信息,进行登录。登录之后,重定向回到用户的应用程序。这样,就不再需要用户继续输入用户名和密码,从而实现了单点登录。

假如在OA系统中添加了一个应用项,就是Powerbi的相关菜单或者主页面,可以直接通过传递相关的参数(用户名和密码),以实现单点登陆。

在这里会有一个中文转换(如果是中文的要转换成UNICOKE的形式)和加密的过程:
转换用户名:HttpUtility.UrlEncodeUnicode("黄奇")=%u9ec4%u5947
转换方案:HttpUtility.UrlEncodeUnicode("新方案1")=%u65b0%u65b9%u68481
加密登陆信息:DesktopClass.DesktopClass.Encrypt("123456", "黄奇")=7KGLau1xF+o=;

那么在OA系统中最终发布Url:
http://localhost:1845/powerbi/powerbi_default/index.aspx?username=%u9ec4%u5947&userpsw=7KGLau1xF+o=&projid=1&aisdata=%u65b0%u65b9%u68481


加密解密过程:
如果可以直接调用dll,按如下步骤调用即可(dll名称为DesktopClass,加密解密函数在dll中所属类为DesktopClass)
1、首先右键项目添加DesktopClass.dll引用
2、在需要加密或解密的地方调用即可,调用格式如下:
加密:加密后字符=DesktopClass.DesktopClass.Encrypt(加密前字符 ,密钥);
解密:加密前字符=DesktopClass.DesktopClass.Decrypt(加密后字符 ,密钥);


说明:在这个过程会有一个加密和解密的函数,分别对用户名和密码进行加密和解密。加密和解密函数已经集成在DLL中了,在应用中直接调用就可以了,如果有单独需要这两个函数的代码,客户可以直接联系PowerBI。
1)加密和解密中用到得密钥要一致(一般对用户的密码加密所用的密钥为用户名称)。
2)PROJECTI名称如果是中文的话,要转换成UNICOKE的形式。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 06:20 , Processed in 0.012065 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表