|
@@ -9,140 +9,157 @@ Doo::loadModelAt('ausers', 'admin');
|
|
|
Doo::loadClass('user');
|
|
|
Doo::loadModel('uprofile');
|
|
|
|
|
|
-class Auth {
|
|
|
+class Auth
|
|
|
+{
|
|
|
|
|
|
private $users, $usession, $user, $uinfo, $ausers, $profile;
|
|
|
|
|
|
- public function __construct() {
|
|
|
- $this->users = new Users();
|
|
|
- $this->usession = new Usession();
|
|
|
- $this->user = new User();
|
|
|
- $this->ausers = new AUsers();
|
|
|
- $this->profile = new Uprofile();
|
|
|
+ public function __construct()
|
|
|
+ {
|
|
|
+ $this->users = new Users();
|
|
|
+ $this->usession = new Usession();
|
|
|
+ $this->user = new User();
|
|
|
+ $this->ausers = new AUsers();
|
|
|
+ $this->profile = new Uprofile();
|
|
|
}
|
|
|
|
|
|
- private function __setcookie($key, $value) {
|
|
|
- setcookie($this->cookiePre . $key, $value, 0, '/', $this->siteUrl, 0);
|
|
|
+ private function __setcookie($key, $value)
|
|
|
+ {
|
|
|
+ setcookie($this->cookiePre . $key, $value, 0, '/', $this->siteUrl, 0);
|
|
|
}
|
|
|
|
|
|
- public function login($uname, $upasswd) {
|
|
|
- $uinfo = $this->checkLogin($uname, $upasswd);
|
|
|
- if (isset($uinfo['uid'])) {
|
|
|
- $this->uinfo = $uinfo;
|
|
|
- return TRUE;
|
|
|
- } else {
|
|
|
- return FALSE;
|
|
|
- }
|
|
|
+ public function login($uname, $upasswd)
|
|
|
+ {
|
|
|
+ $uinfo = $this->checkLogin($uname, $upasswd);
|
|
|
+ if (isset($uinfo['uid'])) {
|
|
|
+ $this->uinfo = $uinfo;
|
|
|
+ return TRUE;
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public function getUinfo() {
|
|
|
- return $this->uinfo;
|
|
|
+ public function getUinfo()
|
|
|
+ {
|
|
|
+ return $this->uinfo;
|
|
|
}
|
|
|
|
|
|
- public function getUid() {
|
|
|
- if (isset($_SESSION['uid']) && $_SESSION['uid']) {
|
|
|
- return $_SESSION['uid'];
|
|
|
- } else {
|
|
|
- return FALSE;
|
|
|
- }
|
|
|
+ public function getUid()
|
|
|
+ {
|
|
|
+ if (isset($_SESSION['uid']) && $_SESSION['uid']) {
|
|
|
+ return $_SESSION['uid'];
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public function getUemail() {
|
|
|
- if (isset($_SESSION['uemail']) && $_SESSION['uemail']) {
|
|
|
- return $_SESSION['uemail'];
|
|
|
- } else {
|
|
|
- return 0;
|
|
|
- }
|
|
|
+ public function getUemail()
|
|
|
+ {
|
|
|
+ if (isset($_SESSION['uemail']) && $_SESSION['uemail']) {
|
|
|
+ return $_SESSION['uemail'];
|
|
|
+ } else {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public function setUid($uid) {
|
|
|
- return $_SESSION['uid'] = $uid;
|
|
|
+ public function setUid($uid)
|
|
|
+ {
|
|
|
+ return $_SESSION['uid'] = $uid;
|
|
|
}
|
|
|
|
|
|
- public function setUemail($uemail) {
|
|
|
- return $_SESSION['uemail'] = $uemail;
|
|
|
+ public function setUemail($uemail)
|
|
|
+ {
|
|
|
+ return $_SESSION['uemail'] = $uemail;
|
|
|
}
|
|
|
|
|
|
- public function getAvatar($uid) {
|
|
|
+ public function getAvatar($uid)
|
|
|
+ {
|
|
|
// $dir1 = ceil($uid / 10000);
|
|
|
// $dir2 = ceil($uid % 10000 / 1000);
|
|
|
// $url = 'http://sso.smartcost.com.cn/' . 'data/avatar/' . $dir1 . '/' . $dir2 . '/' . $uid . '/';
|
|
|
// $avatar = array('180' => $url . '180x180.jpg', '90' => $url . '90x90.jpg', '45' => $url . '45x45.jpg', '30' => $url . '30x30.jpg');
|
|
|
// return $avatar;
|
|
|
- $valArray = $this->profile->getOne(array('where' => 'userid=?', 'param' => array($uid), 'asArray' => TRUE));
|
|
|
- return Doo::conf()->APP_URL . $valArray['avatar'];
|
|
|
- }
|
|
|
-
|
|
|
- public function checkLogin($uemail, $upasswd) {
|
|
|
- return $this->user->login($uemail, $upasswd);
|
|
|
- }
|
|
|
-
|
|
|
- public function logout() {
|
|
|
- session_destroy();
|
|
|
- setcookie('token', '-1', 0, '/', 'jl.local', FALSE, TRUE);
|
|
|
- }
|
|
|
-
|
|
|
- public function checkauth() {
|
|
|
- //TODO 启用SESSION变量避免重复查询数据库
|
|
|
- if (isset($_COOKIE['M0s5Yi_yn_k']) && isset($_COOKIE['M0s5Yi_yn_v'])) {
|
|
|
- $uname = $this->decryptCookie($_COOKIE['M0s5Yi_yn_k']);
|
|
|
- $passwd = $this->decryptCookie($_COOKIE['M0s5Yi_yn_v']);
|
|
|
- if ($uname && $passwd) {
|
|
|
- return TRUE;
|
|
|
- } else {
|
|
|
- return FALSE;
|
|
|
- }
|
|
|
- } else {
|
|
|
- return FALSE;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- function isLoggedIn() {
|
|
|
- if (isset($_SESSION['token']) && isset($_COOKIE['token'])) {
|
|
|
- if ($_SESSION['token'] != $_COOKIE['token']) {
|
|
|
- return TRUE;
|
|
|
- }
|
|
|
- }
|
|
|
- return FALSE;
|
|
|
- }
|
|
|
-
|
|
|
- public function getUname() {
|
|
|
- //TODO 启用SESSION变量避免重复查询数据库
|
|
|
- if (isset($_COOKIE['M0s5Yi_yn_k']) && isset($_COOKIE['M0s5Yi_yn_v'])) {
|
|
|
- $uname = $this->decryptCookie($_COOKIE['M0s5Yi_yn_k']);
|
|
|
- $passwd = $this->decryptCookie($_COOKIE['M0s5Yi_yn_v']);
|
|
|
- if ($uname && $passwd) {
|
|
|
- return $uname;
|
|
|
- } else {
|
|
|
- return FALSE;
|
|
|
- }
|
|
|
- } else {
|
|
|
- return FALSE;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private function encryptCookie($value) {
|
|
|
- if (!$value) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- $key = '290234lk23jk23djLHSWCs92s';
|
|
|
- $text = $value;
|
|
|
- $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
|
|
|
- $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
|
|
|
- $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
|
|
|
- return trim(base64_encode($crypttext)); //encode for cookie
|
|
|
- }
|
|
|
-
|
|
|
- private function decryptCookie($value) {
|
|
|
- if (!$value) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- $key = '290234lk23jk23djLHSWCs92s';
|
|
|
- $crypttext = base64_decode($value); //decode cookie
|
|
|
- $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
|
|
|
- $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
|
|
|
- $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv);
|
|
|
- return trim($decrypttext);
|
|
|
+ $valArray = $this->profile->getOne(array('where' => 'userid=?', 'param' => array($uid), 'asArray' => TRUE));
|
|
|
+ return Doo::conf()->APP_URL . $valArray['avatar'];
|
|
|
+ }
|
|
|
+
|
|
|
+ public function checkLogin($uemail, $upasswd)
|
|
|
+ {
|
|
|
+ return $this->user->login($uemail, $upasswd);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function logout()
|
|
|
+ {
|
|
|
+ session_destroy();
|
|
|
+ setcookie('token', '-1', 0, '/', 'jl.local', FALSE, TRUE);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function checkauth()
|
|
|
+ {
|
|
|
+ //TODO 启用SESSION变量避免重复查询数据库
|
|
|
+ if (isset($_COOKIE['M0s5Yi_yn_k']) && isset($_COOKIE['M0s5Yi_yn_v'])) {
|
|
|
+ $uname = $this->decryptCookie($_COOKIE['M0s5Yi_yn_k']);
|
|
|
+ $passwd = $this->decryptCookie($_COOKIE['M0s5Yi_yn_v']);
|
|
|
+ if ($uname && $passwd) {
|
|
|
+ return TRUE;
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ function isLoggedIn()
|
|
|
+ {
|
|
|
+ if (isset($_SESSION['token']) && isset($_COOKIE['token'])) {
|
|
|
+ if ($_SESSION['token'] != $_COOKIE['token']) {
|
|
|
+ return TRUE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getUname()
|
|
|
+ {
|
|
|
+ //TODO 启用SESSION变量避免重复查询数据库
|
|
|
+ if (isset($_COOKIE['M0s5Yi_yn_k']) && isset($_COOKIE['M0s5Yi_yn_v'])) {
|
|
|
+ $uname = $this->decryptCookie($_COOKIE['M0s5Yi_yn_k']);
|
|
|
+ $passwd = $this->decryptCookie($_COOKIE['M0s5Yi_yn_v']);
|
|
|
+ if ($uname && $passwd) {
|
|
|
+ return $uname;
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private function encryptCookie($value)
|
|
|
+ {
|
|
|
+ if (!$value) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $key = '290234lk23jk23djLHSWCs92s';
|
|
|
+ $text = $value;
|
|
|
+ $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
|
|
|
+ $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
|
|
|
+ $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
|
|
|
+ return trim(base64_encode($crypttext)); //encode for cookie
|
|
|
+ }
|
|
|
+
|
|
|
+ private function decryptCookie($value)
|
|
|
+ {
|
|
|
+ if (!$value) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $key = '290234lk23jk23djLHSWCs92s';
|
|
|
+ $crypttext = base64_decode($value); //decode cookie
|
|
|
+ $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
|
|
|
+ $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
|
|
|
+ $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv);
|
|
|
+ return trim($decrypttext);
|
|
|
}
|
|
|
|
|
|
}
|