discuz使用其它單點登入

2021-07-24 07:35:17 字數 2764 閱讀 5495

*     zj53hao 20140418 外部程式單點登入到discuz(同步註冊和登入到discuz) http:

*/  

define('norobot'

, false);  

define('adminscript'

, basename

(__file__

));  

define('curscript'

, 'admin'

);  

define('hooktype'

, 'hookscript'

);  

, 0);  

//define('curmodule', $mod);

require

'./source/class/class_core.php'

;  $discuz

$discuz

->init();  

require

libfile(

'function/member'

);  

require

libfile(

'class/member'

);  

runhooks();  

$newusername

= trim(

$_get

['newusername'

]);  

$newpassword

= 'www.***x.com'

;//trim($_get['newpassword']);

$newemail

= isset(

$_get

['newemail'

])? 

strtolower

(trim(

$_get

['newemail'

])):

$newusername

.'@***.com'

;  if

(!$newusername

|| !

$newemail

)   

// 以下幾句防止第3方偽造

$time

= (int)(

$_get

["time"

]);  

$curdate

= time();  

$seckey

=$time

.$newusername

.'www.***.com'

;  $seckey

=  md5(

$seckey

);  if(

$curdate

-$time

>1200 || 

$seckey

!=$_get

['code'

])  

$_g[

'uid'

]=''

;  $userid

=c::t(

'common_member'

)->fetch_uid_by_username(

$newusername

);  

$_server

['request_method'

] = 

'post'

;//註冊需要模擬post防止2次校驗不通過

$_get

['formhash'

] = formhash();

// 防止 2次校驗不通過

$_g[

'group'

]['seccode'

]=''

;// 防止 2次校驗不通過

if(!

$userid

)  //uc_user_synlogout();

$_g[

'groupid'

] = 

$_g[

'member'

]['groupid'

] = 7;  

$_g[

'uid'

] = 

$_g[

'member'

]['uid'

] = 0;  

$_g[

'username'

] = 

$_g[

'member'

]['username'

] = 

$_g[

'member'

]['password'

] = 

'';  

// 登陸           

$_get

['loginsubmit'

]='yes'

;  $_get

['lssubmit'

]=''

;  $_get

['username'

]=$newusername

;  $_get

['password'

]= $newpassword

;         

$ctl_obj

= new

logging_ctl();  

$ctl_obj

->setting = 

$_g[

'setting'

];  

$ctl_obj

->template = 

'member/login'

;  $ctl_obj

->on_login();  

?>  

單點登入CAS使用記(六) 單點登出 單點登出

單點登出基本上沒有啥配置 直接在原來logout的時候,重定向到cas server的logout方法 但是這樣的話,logout後,最終會停留在這個頁面上 一般這不是我們想要的。我想要的是,一旦使用者登出,重新回到登入頁面。那麼重新修改原有專案的logout方法,如下 加上了乙個service字尾...

單點登入CAS使用記(六) 單點登出 單點登出

單點登出基本上沒有啥配置 直接在原來logout的時候,重定向到cas server的logout方法 但是這樣的話,logout後,最終會停留在這個頁面上 一般這不是我們想要的。我想要的是,一旦使用者登出,重新回到登入頁面。那麼重新修改原有專案的logout方法,如下 加上了乙個service字尾...

使用者登入 單點登入

首先是為啥要用單點登入的問題,單點登入也就是sso sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。1 任何系統都必須去登陸伺服器進行登入 2 伺服器就記住了登入狀態 3 其他系統訪問受保護資源,需要再次登入,跳轉到sso server登入的時候,伺服器告訴客戶端,已...