- https删除://www.删除 删除/article-3553.html
复制代码 优化登录2016.7.20更新 由于绝大多数用户都通过sso登录,因此决定未认证用户之间重定向至sso以提高用户体验。只需要在model.authent-sso.php中class定义的外面判断是否登录,未登录的跳转去sso(注意请求uri为toolkit和setup时不要跳转到sso,否则将导致这两个功能不可用)。
[backcolor=rgb(248, 248, 255) !important]
[color=rgb(170, 170, 170) !important]1
[color=rgb(170, 170, 170) !important]2
[color=rgb(170, 170, 170) !important]3
[color=rgb(170, 170, 170) !important]4
[color=rgb(170, 170, 170) !important]5
[color=rgb(170, 170, 170) !important]6
[color=rgb(170, 170, 170) !important]7
[color=rgb(170, 170, 170) !important]8
[color=rgb(170, 170, 170) !important]9
[color=rgb(170, 170, 170) !important]10
[color=rgb(170, 170, 170) !important]11
[color=rgb(170, 170, 170) !important]12
[color=rgb(170, 170, 170) !important]13
[color=rgb(170, 170, 170) !important]14
[color=rgb(170, 170, 170) !important]15
[color=rgb(170, 170, 170) !important]16
| [color=rgb(153, 153, 153) !important]//cron任务忽略sso认证
if[color=rgb(51, 51, 51) !important]([color=teal !important]isset[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]_SERVER[color=rgb(51, 51, 51) !important][[color=rgb(221, 17, 68) !important]'REQUEST_URI'[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])
[color=rgb(51, 51, 51) !important]{
[color=rgb(0, 111, 224) !important] [color=rgb(153, 153, 153) !important]//如果访问 toolkit 或者 setup 等工具页面,则不跳转到sso
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]isToolPage[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]false[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] if[color=rgb(51, 51, 51) !important]([color=teal !important]preg_match[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]'/^\/toolkit\/|^\/webservices\/|^\/setup\//i'[color=rgb(51, 51, 51) !important],[color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]_SERVER[color=rgb(51, 51, 51) !important][[color=rgb(221, 17, 68) !important]'REQUEST_URI'[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]{
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]isToolPage[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]true[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]}
[color=rgb(0, 111, 224) !important] if[color=rgb(51, 51, 51) !important]([color=rgb(0, 111, 224) !important]![color=teal !important]isset[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]_SESSION[color=rgb(51, 51, 51) !important][[color=rgb(221, 17, 68) !important]'auth_user'[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]&&[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]![color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]isToolPage[color=rgb(51, 51, 51) !important])
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]{
[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]UserLeSSO[color=rgb(0, 111, 224) !important]::[color=teal !important]getM_TK[color=rgb(51, 51, 51) !important]([color=teal !important]base64_encode[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]_SERVER[color=rgb(51, 51, 51) !important][[color=rgb(221, 17, 68) !important]'REQUEST_URI'[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]}
[color=rgb(51, 51, 51) !important]}
|
其中参数 $_SERVER['REQUEST_URI'] 用于认证通过后重定向至登录前的链接。具体流程为记录用户登录前打开的request_uri, 作为url参数加到sso的next URL里,然后login.php就可以获取到这个uri,认证成功后直接重定向至该request_uri。 getM_TK()函数修改为:
[backcolor=rgb(248, 248, 255) !important]
[color=rgb(170, 170, 170) !important]1
[color=rgb(170, 170, 170) !important]2
[color=rgb(170, 170, 170) !important]3
[color=rgb(170, 170, 170) !important]4
[color=rgb(170, 170, 170) !important]5
[color=rgb(170, 170, 170) !important]6
[color=rgb(170, 170, 170) !important]7
[color=rgb(170, 170, 170) !important]8
[color=rgb(170, 170, 170) !important]9
| [color=rgb(128, 0, 128) !important]static[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]public[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]function[color=rgb(0, 111, 224) !important] [color=teal !important]getM_TK[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]uri[color=rgb(0, 111, 224) !important]=[color=rgb(221, 17, 68) !important]""[color=rgb(51, 51, 51) !important])
[color=rgb(51, 51, 51) !important]{
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]sAppRootUrl[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=teal !important]trim[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]MetaModel[color=rgb(0, 111, 224) !important]::[color=teal !important]GetConfig[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important]->[color=teal !important]Get[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]'app_root_url'[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]loginPage[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]"env-production/authent-sso/login.php"[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]sLoginURL[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=teal !important]trim[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]MetaModel[color=rgb(0, 111, 224) !important]::[color=teal !important]GetModuleSetting[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]'authent-sso'[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]'login_url'[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]'http://localhost'[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]next[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$sAppRootUrl[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important].[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$loginPage[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important].[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]"?uri="[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important].[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]uri[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important] [color=teal !important]header[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]"Location: "[color=rgb(51, 51, 51) !important].[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$sLoginURL[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important].[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]"?next="[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important].[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]next[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
[color=rgb(51, 51, 51) !important]}
|
接下来在login中处理
[backcolor=rgb(248, 248, 255) !important]
[color=rgb(170, 170, 170) !important]1
[color=rgb(170, 170, 170) !important]2
[color=rgb(170, 170, 170) !important]3
[color=rgb(170, 170, 170) !important]4
[color=rgb(170, 170, 170) !important]5
[color=rgb(170, 170, 170) !important]6
[color=rgb(170, 170, 170) !important]7
[color=rgb(170, 170, 170) !important]8
[color=rgb(170, 170, 170) !important]9
| [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]appRootUrl[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]UserLeSSO[color=rgb(0, 111, 224) !important]::[color=teal !important]getAppRootUrl[color=rgb(51, 51, 51) !important]([color=rgb(128, 0, 128) !important]false[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
[color=rgb(51, 51, 51) !important].[color=rgb(51, 51, 51) !important].[color=rgb(51, 51, 51) !important].[color=rgb(51, 51, 51) !important].
[color=rgb(51, 51, 51) !important].[color=rgb(51, 51, 51) !important].[color=rgb(51, 51, 51) !important].[color=rgb(51, 51, 51) !important].
if[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]UserRights[color=rgb(0, 111, 224) !important]::[color=teal !important]CheckCredentials[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]SSOUSER[color=rgb(51, 51, 51) !important],[color=rgb(221, 17, 68) !important]''[color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]===[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]true[color=rgb(51, 51, 51) !important])
[color=rgb(51, 51, 51) !important]{
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]location[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$appRootUrl[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important].[color=rgb(0, 111, 224) !important] [color=teal !important]base64_decode[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]_GET[color=rgb(51, 51, 51) !important][[color=rgb(221, 17, 68) !important]'uri'[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] [color=teal !important]header[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]"Location: $location"[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
[color=rgb(51, 51, 51) !important]}
|
为了取到不带URI的app_root_url,getAppRootUrl()函数修改为:
[backcolor=rgb(248, 248, 255) !important]
[color=rgb(170, 170, 170) !important]1
[color=rgb(170, 170, 170) !important]2
[color=rgb(170, 170, 170) !important]3
[color=rgb(170, 170, 170) !important]4
[color=rgb(170, 170, 170) !important]5
[color=rgb(170, 170, 170) !important]6
[color=rgb(170, 170, 170) !important]7
[color=rgb(170, 170, 170) !important]8
[color=rgb(170, 170, 170) !important]9
[color=rgb(170, 170, 170) !important]10
[color=rgb(170, 170, 170) !important]11
[color=rgb(170, 170, 170) !important]12
| [color=rgb(128, 0, 128) !important]static[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]public[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]function[color=rgb(0, 111, 224) !important] [color=teal !important]getAppRootUrl[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]with_uri[color=rgb(0, 111, 224) !important]=[color=rgb(128, 0, 128) !important]true[color=rgb(51, 51, 51) !important])
[color=rgb(51, 51, 51) !important]{
[color=rgb(0, 111, 224) !important] if[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]with_uri[color=rgb(51, 51, 51) !important])
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]{
[color=rgb(0, 111, 224) !important] return[color=rgb(0, 111, 224) !important] [color=teal !important]trim[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]MetaModel[color=rgb(0, 111, 224) !important]::[color=teal !important]GetConfig[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important]->[color=teal !important]Get[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]'app_root_url'[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important].[color=rgb(0, 111, 224) !important] [color=rgb(221, 17, 68) !important]"pages/UI.php"[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]}
[color=rgb(0, 111, 224) !important] else
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]{
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]root_url[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=teal !important]trim[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]MetaModel[color=rgb(0, 111, 224) !important]::[color=teal !important]GetConfig[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])[color=rgb(0, 111, 224) !important]->[color=teal !important]Get[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]'app_root_url'[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] return[color=rgb(0, 111, 224) !important] [color=teal !important]preg_replace[color=rgb(51, 51, 51) !important]([color=rgb(221, 17, 68) !important]"/\/$/"[color=rgb(51, 51, 51) !important],[color=rgb(221, 17, 68) !important]""[color=rgb(51, 51, 51) !important],[color=rgb(51, 51, 51) !important]$[color=rgb(0, 45, 122) !important]root_url[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]}
[color=rgb(51, 51, 51) !important]}
|
|