单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。 - `0 P: V4 q3 f @3 Q
Power-bi前端浏览可以很好的与其他的系结合,如与OA办公系统结合,主要使用Cookie实现单点登录。
; `. Y# L! ?8 [( M$ |3 v* D: `) V; W用户在单点登录服务器的登录页面中,输入用户名和密码,然后单点登录服务器会对用户名和密码进行认证。认证通过之后,单点登录服务器会和应用程序进行一个比较复杂的交互,这通常是某种授权机制。授权完成后,回到Web应用。Web应用此时就完成了成功的登录, 然后单点登录服务器会在客户端创建一个Cookie。这个Cookie是一个加密的Cookie,其中保存了用户登录的信息(如用户名和密码)。如果用户此时希望进入PowerBI前端页面,寻找客户端的Cookie,根据Cookie中保存的信息,进行登录。登录之后,重定向回到用户的应用程序。这样,就不再需要用户继续输入用户名和密码,从而实现了单点登录。
6 z4 o! R% B% s! T8 c假如在OA系统中添加了一个应用项,就是Powerbi的相关菜单或者主页面,可以直接通过?传递相关的参数(用户名和密码),以实现单点登陆。 $ o$ J3 ]6 }9 t" c
- w4 J1 R" F5 y! `6 w
Q, |1 B. R4 ~+ g& {4 B5 w G) L加密解密过程:; i0 q( u8 Q& S9 k' B
如果可以直接调用dll,按如下步骤调用即可(dll名称为DesktopClass,加密解密函数在dll中所属类为DesktopClass)
8 {* s: Q) P7 ^1 a1、首先右键项目添加DesktopClass.dll引用
8 B' o: m' F) r, S% w3 f* i2、在需要加密或解密的地方调用即可,调用格式如下:- ?# W; Z7 z& ?2 P1 W
加密:加密后字符=DesktopClass.DesktopClass.Encrypt(加密前字符 ,密钥);
7 k4 ~& B5 l3 n1 `0 n/ x* G2 Z F解密:加密前字符=DesktopClass.DesktopClass.Decrypt(加密后字符 ,密钥); # V( @, E$ S% d* j' n/ u& h
" a- g. U" Y& C% @8 V9 B5 ?, b
说明:在这个过程会有一个加密和解密的函数,分别对用户名和密码进行加密和解密。加密和解密函数已经集成在DLL中了,在应用中直接调用就可以了,如果有单独需要这两个函数的代码,客户可以直接联系PowerBI。 1)加密和解密中用到得密钥要一致(一般对用户的密码加密所用的密钥为用户名称)。
. f' x% s. q; | P8 ]. t4 p/ w2)PROJECTI名称如果是中文的话,要转换成UNICOKE的形式。
8 m7 ~" h5 a i
6 X% \# B& {& p) @3 O7 t8 `5 I: S9 }/ C4 P
该贴已经同步到 amywu的微博 |