* 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登入的時候,伺服器告訴客戶端,已...