diff --git a/module/common/lang/en.php b/module/common/lang/en.php
index cfcb0572d6..c09fdfa6ef 100644
--- a/module/common/lang/en.php
+++ b/module/common/lang/en.php
@@ -278,7 +278,6 @@ $lang->admin->menu->mail = array('link' => 'Email|mail|index', 'subModule'
$lang->admin->menu->clearData = array('link' => 'Reset|admin|cleardata');
$lang->admin->menu->convert = array('link' => 'Import|convert|index', 'subModule' => 'convert');
$lang->admin->menu->trashes = array('link' => 'Trash|action|trash', 'subModule' => 'action');
-$lang->admin->menu->sso = array('link' => 'SSO|sso|browse', 'subModule' => 'sso');
$lang->convert = new stdclass();
$lang->upgrade = new stdclass();
@@ -287,7 +286,6 @@ $lang->extension = new stdclass();
$lang->custom = new stdclass();
$lang->editor = new stdclass();
$lang->mail = new stdclass();
-$lang->sso = new stdclass();
$lang->convert->menu = $lang->admin->menu;
$lang->upgrade->menu = $lang->admin->menu;
@@ -296,7 +294,6 @@ $lang->extension->menu = $lang->admin->menu;
$lang->custom->menu = $lang->admin->menu;
$lang->editor->menu = $lang->admin->menu;
$lang->mail->menu = $lang->admin->menu;
-$lang->sso->menu = $lang->admin->menu;
/* Groups. */
$lang->menugroup = new stdclass();
@@ -320,7 +317,6 @@ $lang->menugroup->extension = 'admin';
$lang->menugroup->custom = 'admin';
$lang->menugroup->editor = 'admin';
$lang->menugroup->mail = 'admin';
-$lang->menugroup->sso = 'admin';
/* Error info. */
$lang->error = new stdclass();
diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php
index 0c82b492da..8080fb4c6e 100644
--- a/module/common/lang/menuOrder.php
+++ b/module/common/lang/menuOrder.php
@@ -111,7 +111,6 @@ $lang->admin->menuOrder[15] = 'custom';
$lang->admin->menuOrder[20] = 'editor';
$lang->admin->menuOrder[25] = 'mail';
$lang->admin->menuOrder[30] = 'custom';
-$lang->admin->menuOrder[35] = 'sso';
$lang->admin->menuOrder[40] = 'convert';
$lang->admin->menuOrder[45] = 'trashes';
$lang->convert->menuOrder = $lang->admin->menuOrder;
@@ -122,4 +121,3 @@ $lang->custom->menuOrder = $lang->admin->menuOrder;
$lang->editor->menuOrder = $lang->admin->menuOrder;
$lang->mail->menuOrder = $lang->admin->menuOrder;
$lang->custom->menuOrder = $lang->admin->menuOrder;
-$lang->sso->menuOrder = $lang->admin->menuOrder;
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php
index a0ebed95ff..c5c564caf3 100644
--- a/module/common/lang/zh-cn.php
+++ b/module/common/lang/zh-cn.php
@@ -279,7 +279,6 @@ $lang->admin->menu->mail = array('link' => '发信|mail|index', 'subModule'
$lang->admin->menu->clearData = array('link' => '重置禅道|admin|cleardata');
$lang->admin->menu->convert = array('link' => '导入|convert|index', 'subModule' => 'convert');
$lang->admin->menu->trashes = array('link' => '回收站|action|trash', 'subModule' => 'action');
-$lang->admin->menu->sso = array('link' => '单点登录|sso|browse', 'subModule' => 'sso');
$lang->convert = new stdclass();
$lang->upgrade = new stdclass();
@@ -288,7 +287,6 @@ $lang->extension = new stdclass();
$lang->custom = new stdclass();
$lang->editor = new stdclass();
$lang->mail = new stdclass();
-$lang->sso = new stdclass();
$lang->convert->menu = $lang->admin->menu;
$lang->upgrade->menu = $lang->admin->menu;
@@ -297,7 +295,6 @@ $lang->extension->menu = $lang->admin->menu;
$lang->custom->menu = $lang->admin->menu;
$lang->editor->menu = $lang->admin->menu;
$lang->mail->menu = $lang->admin->menu;
-$lang->sso->menu = $lang->admin->menu;
/* 菜单分组。*/
$lang->menugroup = new stdclass();
@@ -321,7 +318,6 @@ $lang->menugroup->extension = 'admin';
$lang->menugroup->custom = 'admin';
$lang->menugroup->editor = 'admin';
$lang->menugroup->mail = 'admin';
-$lang->menugroup->sso = 'admin';
/* 错误提示信息。*/
$lang->error = new stdclass();
diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php
index 052afb9ee0..dada2933d0 100644
--- a/module/common/lang/zh-tw.php
+++ b/module/common/lang/zh-tw.php
@@ -278,7 +278,6 @@ $lang->admin->menu->mail = array('link' => '發信|mail|index', 'subModule'
$lang->admin->menu->clearData = array('link' => '重置禪道|admin|cleardata');
$lang->admin->menu->convert = array('link' => '導入|convert|index', 'subModule' => 'convert');
$lang->admin->menu->trashes = array('link' => '資源回收筒|action|trash', 'subModule' => 'action');
-$lang->admin->menu->sso = array('link' => '單點登錄|sso|browse', 'subModule' => 'sso');
$lang->convert = new stdclass();
$lang->upgrade = new stdclass();
@@ -287,7 +286,6 @@ $lang->extension = new stdclass();
$lang->custom = new stdclass();
$lang->editor = new stdclass();
$lang->mail = new stdclass();
-$lang->sso = new stdclass();
$lang->convert->menu = $lang->admin->menu;
$lang->upgrade->menu = $lang->admin->menu;
@@ -296,7 +294,6 @@ $lang->extension->menu = $lang->admin->menu;
$lang->custom->menu = $lang->admin->menu;
$lang->editor->menu = $lang->admin->menu;
$lang->mail->menu = $lang->admin->menu;
-$lang->sso->menu = $lang->admin->menu;
/* 菜單分組。*/
$lang->menugroup = new stdclass();
@@ -320,7 +317,6 @@ $lang->menugroup->extension = 'admin';
$lang->menugroup->custom = 'admin';
$lang->menugroup->editor = 'admin';
$lang->menugroup->mail = 'admin';
-$lang->menugroup->sso = 'admin';
/* 錯誤提示信息。*/
$lang->error = new stdclass();
diff --git a/module/common/model.php b/module/common/model.php
index 2c2101dcad..226f67792b 100644
--- a/module/common/model.php
+++ b/module/common/model.php
@@ -147,7 +147,6 @@ class commonModel extends model
if($module == 'user' and strpos('login|logout|deny', $method) !== false) return true;
if($module == 'api' and $method == 'getsessionid') return true;
if($module == 'misc' and $method == 'ping') return true;
- if($module == 'sso' and strpos('auth|depts|users', $method) !== false) return true;
if($this->loadModel('user')->isLogon())
{
diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php
index 4fc4a26d7c..c70da8b8d5 100644
--- a/module/group/lang/resource.php
+++ b/module/group/lang/resource.php
@@ -52,7 +52,6 @@ $lang->moduleOrder[150] = 'tree';
$lang->moduleOrder[155] = 'api';
$lang->moduleOrder[160] = 'file';
$lang->moduleOrder[165] = 'misc';
-$lang->moduleOrder[170] = 'sso';
$lang->resource = new stdclass();
@@ -661,18 +660,6 @@ $lang->resource->admin->checkDB = 'checkDB';
$lang->admin->methodOrder[0] = 'index';
$lang->admin->methodOrder[5] = 'checkDB';
-/* SSO. */
-$lang->resource->sso = new stdclass();
-$lang->resource->sso->browse = 'browse';
-$lang->resource->sso->create = 'create';
-$lang->resource->sso->edit = 'edit';
-$lang->resource->sso->delete = 'delete';
-
-$lang->sso->methodOrder[0] = 'browse';
-$lang->sso->methodOrder[5] = 'create';
-$lang->sso->methodOrder[10] = 'edit';
-$lang->sso->methodOrder[15] = 'delete';
-
/* Extension. */
$lang->resource->extension = new stdclass();
$lang->resource->extension->browse = 'browse';
@@ -916,10 +903,6 @@ $lang->changelog['4.3.beta'][] = 'testcase-import';
$lang->changelog['4.3.beta'][] = 'testcase-showImport';
$lang->changelog['4.3.beta'][] = 'testcase-confirmChange';
$lang->changelog['4.3.beta'][] = 'mail-reset';
-$lang->changelog['4.3.beta'][] = 'sso-browse';
-$lang->changelog['4.3.beta'][] = 'sso-create';
-$lang->changelog['4.3.beta'][] = 'sso-edit';
-$lang->changelog['4.3.beta'][] = 'sso-delete';
$lang->changelog['4.3.beta'][] = 'api-debug';
$lang->changelog['4.3.beta'][] = 'action-editComment';
diff --git a/module/sso/config.php b/module/sso/config.php
deleted file mode 100644
index 4e199981ee..0000000000
--- a/module/sso/config.php
+++ /dev/null
@@ -1,6 +0,0 @@
-sso = new stdclass();
-$config->sso->create = new stdclass();
-$config->sso->create->requiredFields = 'title,code,key,ip';
-$config->sso->edit = new stdclass();
-$config->sso->edit->requiredFields = 'title,key,ip';
diff --git a/module/sso/control.php b/module/sso/control.php
deleted file mode 100644
index aae7fcceba..0000000000
--- a/module/sso/control.php
+++ /dev/null
@@ -1,165 +0,0 @@
-view->title = $this->lang->sso->common . $this->lang->colon . $this->lang->sso->browse;
- $this->view->position[] = $this->lang->sso->common;
- $this->view->position[] = $this->lang->sso->browse;
- $this->view->auths = $this->sso->getAuths();
- $this->display();
- }
-
- /**
- * Create auth.
- *
- * @access public
- * @return void
- */
- public function create()
- {
- if(!empty($_POST))
- {
- if(!$this->post->title) die(js::alert($this->lang->sso->error->title));
- if(!$this->post->code) die(js::alert($this->lang->sso->error->code));
- if(!$this->post->ip) die(js::alert($this->lang->sso->error->ip));
-
- $this->sso->createAuth();
- if(dao::isError()) die(js::error(dao::getError()));
- die(js::locate(inlink('browse'), 'parent'));
- }
- $this->view->title = $this->lang->sso->common . $this->lang->colon . $this->lang->sso->create;
- $this->view->position[] = $this->lang->sso->common;
- $this->view->position[] = $this->lang->sso->create;
- $this->view->key = $this->sso->createKey();
- $this->display();
- }
-
- /**
- * Edit auth.
- *
- * @param string $code
- * @access public
- * @return void
- */
- public function edit($code)
- {
- if(!empty($_POST))
- {
- if(!$this->post->title) die(js::alert($this->lang->sso->error->title));
- if(!$this->post->ip) die(js::alert($this->lang->sso->error->ip));
-
- $this->sso->updateAuth($code);
- if(dao::isError()) die(js::error(dao::getError()));
- die(js::locate(inlink('browse'), 'parent'));
- }
-
- $this->view->title = $this->lang->sso->common . $this->lang->colon . $this->lang->sso->edit;
- $this->view->position[] = $this->lang->sso->common;
- $this->view->position[] = $this->lang->sso->edit;
-
- $this->view->auth = $this->sso->getAuth($code);
- $this->view->code = $code;
- $this->display();
- }
-
- /**
- * Delete auth.
- *
- * @param string $code
- * @param string $confirm
- * @access public
- * @return void
- */
- public function delete($code, $confirm = 'no')
- {
- if($confirm == 'no')
- {
- die(js::confirm($this->lang->sso->confirmDelete, inlink('delete', "code=$code&confirm=yes")));
- }
- else
- {
- $this->sso->deleteAuth($code);
- die(js::locate(inlink('browse'), 'parent'));
- }
- }
-
- /**
- * Auth user.
- *
- * @param string $app
- * @access public
- * @return void
- */
- public function auth($app)
- {
- $user = $this->sso->identify($app);
- if($user)
- {
- $dept = $this->loadModel('dept')->getByID($user->dept);
- $user->deptName = $dept ? $dept->name : '';
-
- $response['status'] = 'success';
- $response['data'] = json_encode($user);
- $this->send($response);
- }
-
- $response['status'] = 'fail';
- $response['data'] = 'auth failed.';
- $this->send($response);
- }
-
- /**
- * Get all departments.
- *
- * @param string $app
- * @access public
- * @return void
- */
- public function depts($app)
- {
- if($this->post->key) $key = $this->post->key;
- if($this->get->key) $key = $this->get->key;
- if($this->sso->checkIP($app) and $this->sso->getAppKey($app) == $key)
- {
- $depts = $this->sso->getAllDepts();
- $response['status'] = 'success';
- $response['data'] = json_encode($depts);
- $this->send($response);
- }
-
- $response['status'] = 'fail';
- $response['data'] = 'key error';
- $this->send($response);
- }
-
- /**
- * Get all users.
- *
- * @param string $app
- * @access public
- * @return void
- */
- public function users($app)
- {
- if($this->post->key) $key = $this->post->key;
- if($this->get->key) $key = $this->get->key;
- if($this->sso->checkIP($app) and $this->sso->getAppKey($app) == $key)
- {
- $depts = $this->sso->getAllUsers();
- $response['status'] = 'success';
- $response['data'] = json_encode($depts);
- $this->send($response);
- }
-
- $response['status'] = 'fail';
- $response['data'] = 'key error';
- $this->send($response);
- }
-}
diff --git a/module/sso/css/create.css b/module/sso/css/create.css
deleted file mode 100644
index 58a0b29696..0000000000
--- a/module/sso/css/create.css
+++ /dev/null
@@ -1 +0,0 @@
-.instruction {margin-top:5px; margin-left: 20px; padding:20px 30px;}
diff --git a/module/sso/ext/config/.gitkeep b/module/sso/ext/config/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/module/sso/ext/control/.gitkeep b/module/sso/ext/control/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/module/sso/ext/css/.gitkeep b/module/sso/ext/css/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/module/sso/ext/js/.gitkeep b/module/sso/ext/js/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/module/sso/ext/lang/en/.gitkeep b/module/sso/ext/lang/en/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/module/sso/ext/lang/zh-cn/.gitkeep b/module/sso/ext/lang/zh-cn/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/module/sso/ext/lang/zh-tw/.gitkeep b/module/sso/ext/lang/zh-tw/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/module/sso/ext/model/.gitkeep b/module/sso/ext/model/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/module/sso/ext/view/.gitkeep b/module/sso/ext/view/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/module/sso/js/common.js b/module/sso/js/common.js
deleted file mode 100644
index c72ce145b0..0000000000
--- a/module/sso/js/common.js
+++ /dev/null
@@ -1,11 +0,0 @@
-function createKey()
-{
- var chars = '0123456789abcdefghiklmnopqrstuvwxyz'.split('');
- var key = '';
- for(var i=0; i < 32; i++)
- {
- key += chars[Math.floor(Math.random() * chars.length)];
- }
- $('#key').val(key);
- return false;
-}
diff --git a/module/sso/lang/en.php b/module/sso/lang/en.php
deleted file mode 100644
index f00156a215..0000000000
--- a/module/sso/lang/en.php
+++ /dev/null
@@ -1,43 +0,0 @@
-sso->common = 'SSO';
-$lang->sso->browse = 'App list';
-$lang->sso->create = 'Create App';
-$lang->sso->edit = 'Edit App';
-$lang->sso->delete = 'Delete App';
-$lang->sso->code = 'Code';
-$lang->sso->title = 'Name';
-$lang->sso->key = 'Key';
-$lang->sso->ip = 'IP list';
-$lang->sso->createKey = 'New one';
-
-$lang->sso->confirmDelete = 'Are you sure to delete this App?';
-
-$lang->sso->note = new stdClass();
-$lang->sso->note->title = 'app name';
-$lang->sso->note->code = 'app code';
-$lang->sso->note->ip = "Use comma between two IPs, and support IP segment, for example 192.168.1.*";
-
-$lang->sso->error = new stdClass();
-$lang->sso->error->title = 'Please input name';
-$lang->sso->error->code = 'Please input code';
-$lang->sso->error->key = 'Please input key';
-$lang->sso->error->ip = 'Please input IP';
-
-$lang->sso->instruction = <<
1.User Auth
-Application request API of user auth, check if the account and password is correct, to realize single sign-on (SSO).
-The API is from sso module, auth method. POST data is account and encrypted string [md5(md5(password) + key)]. Return user info(json) if success, return fail if fail.
-Example: url is 'http:://www.demo.com/sso-auth-test',POST string is 'account=admin&authcode=c44c577432230ad8e67160d3f9f0b91c'.
-Note: 'test' is App code, 'c44c577432230ad8e67160d3f9f0b91' is md5(md5('123456') + '20c8eb0d522d2e1a09d4ea18e4df3a59')
-2.Get User List
-Application request API of user list, get all user info of zentao.
-The API if from sso module, users method. POST data is key. Return user list (json) if success, return fail if fail.
-Example:url is 'http:://www.demo.com/sso-users-test', POST string is 'key=20c8eb0d522d2e1a09d4ea18e4df3a59'.
-Note: 'test' is App code, '20c8eb0d522d2e1a09d4ea18e4df3a59' is App key.
-3.Get Dept List
-Application request API of dept list, get all dept info of zentao.
-The API if from sso module, depts method. POST data is key. Return dept list (json) if success, return fail if fail.
-Example:url is 'http:://www.demo.com/sso-depts-test', POST string is 'key=20c8eb0d522d2e1a09d4ea18e4df3a59'.
-Note: 'test' is App code, '20c8eb0d522d2e1a09d4ea18e4df3a59' is App key.
-EOT; diff --git a/module/sso/lang/zh-cn.php b/module/sso/lang/zh-cn.php deleted file mode 100644 index 5520d0237d..0000000000 --- a/module/sso/lang/zh-cn.php +++ /dev/null @@ -1,43 +0,0 @@ -sso->common = '单点登录'; -$lang->sso->browse = '应用列表'; -$lang->sso->create = '添加应用'; -$lang->sso->edit = '编辑应用'; -$lang->sso->delete = '删除应用'; -$lang->sso->code = '代号'; -$lang->sso->title = '名称'; -$lang->sso->key = '密钥'; -$lang->sso->ip = 'IP列表'; -$lang->sso->createKey = '重新生成密钥'; - -$lang->sso->confirmDelete = '您确定删除该应用吗?'; - -$lang->sso->note = new stdClass(); -$lang->sso->note->title = '授权应用名称'; -$lang->sso->note->code = '授权应用代号'; -$lang->sso->note->ip = "允许该应用使用这些ip访问,多个ip使用逗号隔开。支持IP段,如192.168.1.*"; - -$lang->sso->error = new stdClass(); -$lang->sso->error->title = '名称不能为空'; -$lang->sso->error->code = '代号不能为空'; -$lang->sso->error->key = '密钥不能为空'; -$lang->sso->error->ip = 'IP列表不能为空'; - -$lang->sso->instruction = <<1.用户验证
-授权应用请求禅道的用户验证API,检查用户在该应用输入的用户名和密码是否正确,实现单点登录。
-API地址为sso模块的auth方法,POST数据为登录用户的用户名account和密码与密钥形成的加密字符串md5(md5(password) + key),成功则返回用户信息(json格式),失败则返回fail。
-示例:请求地址 http:://www.demo.com/sso-auth-test,POST字符串 account=admin&authcode=c44c577432230ad8e67160d3f9f0b91c。
-注:test为应用代号,c44c577432230ad8e67160d3f9f0b91为md5(md5('123456') + '20c8eb0d522d2e1a09d4ea18e4df3a59')
-2.获取用户列表
-授权应用访问禅道的用户列表API,获取禅道所有用户信息。
-API地址为sso模块的users方法,POST数据为应用密钥,成功返回用户列表(json格式),失败返回fail。
-示例:请求地址 http:://www.demo.com/sso-users-test,POST字符串 key=20c8eb0d522d2e1a09d4ea18e4df3a59。
-注:test为应用代号,20c8eb0d522d2e1a09d4ea18e4df3a59为应用密钥
-3.获取部门列表
-授权应用访问禅道的部门列表API,获取禅道所有部门信息。
-API地址为sso模块的depts方法,POST数据为应用密钥,成功返回用户列表(json格式),失败返回fail。
-示例:请求地址 http:://www.demo.com/sso-depts-test,POST字符串 key=20c8eb0d522d2e1a09d4ea18e4df3a59。
-注:test为应用代号,20c8eb0d522d2e1a09d4ea18e4df3a59为应用密钥
-EOT; diff --git a/module/sso/lang/zh-tw.php b/module/sso/lang/zh-tw.php deleted file mode 100644 index b6b208c353..0000000000 --- a/module/sso/lang/zh-tw.php +++ /dev/null @@ -1,43 +0,0 @@ -sso->common = '單點登錄'; -$lang->sso->browse = '應用列表'; -$lang->sso->create = '添加應用'; -$lang->sso->edit = '編輯應用'; -$lang->sso->delete = '刪除應用'; -$lang->sso->code = '代號'; -$lang->sso->title = '名稱'; -$lang->sso->key = '密鑰'; -$lang->sso->ip = 'IP列表'; -$lang->sso->createKey = '重新生成密鑰'; - -$lang->sso->confirmDelete = '您確定刪除該應用嗎?'; - -$lang->sso->note = new stdClass(); -$lang->sso->note->title = '授權應用名稱'; -$lang->sso->note->code = '授權應用代號'; -$lang->sso->note->ip = "允許該應用使用這些ip訪問,多個ip使用逗號隔開。支持IP段,如192.168.1.*"; - -$lang->sso->error = new stdClass(); -$lang->sso->error->title = '名稱不能為空'; -$lang->sso->error->code = '代號不能為空'; -$lang->sso->error->key = '密鑰不能為空'; -$lang->sso->error->ip = 'IP列表不能為空'; - -$lang->sso->instruction = <<1.用戶驗證
-授權應用請求禪道的用戶驗證API,檢查用戶在該應用輸入的用戶名和密碼是否正確,實現單點登錄。
-API地址為sso模組的auth方法,POST數據為登錄用戶的用戶名account和密碼與密鑰形成的加密字元串md5(md5(password) + key),成功則返回用戶信息(json格式),失敗則返回fail。
-示例:請求地址 http:://www.demo.com/sso-auth-test,POST字元串 account=admin&authcode=c44c577432230ad8e67160d3f9f0b91c。
-註:test為應用代號,c44c577432230ad8e67160d3f9f0b91為md5(md5('123456') + '20c8eb0d522d2e1a09d4ea18e4df3a59')
-2.獲取用戶列表
-授權應用訪問禪道的用戶列表API,獲取禪道所有用戶信息。
-API地址為sso模組的users方法,POST數據為應用密鑰,成功返回用戶列表(json格式),失敗返回fail。
-示例:請求地址 http:://www.demo.com/sso-users-test,POST字元串 key=20c8eb0d522d2e1a09d4ea18e4df3a59。
-註:test為應用代號,20c8eb0d522d2e1a09d4ea18e4df3a59為應用密鑰
-3.獲取部門列表
-授權應用訪問禪道的部門列表API,獲取禪道所有部門信息。
-API地址為sso模組的depts方法,POST數據為應用密鑰,成功返回用戶列表(json格式),失敗返回fail。
-示例:請求地址 http:://www.demo.com/sso-depts-test,POST字元串 key=20c8eb0d522d2e1a09d4ea18e4df3a59。
-註:test為應用代號,20c8eb0d522d2e1a09d4ea18e4df3a59為應用密鑰
-EOT; diff --git a/module/sso/model.php b/module/sso/model.php deleted file mode 100644 index e4c9960201..0000000000 --- a/module/sso/model.php +++ /dev/null @@ -1,177 +0,0 @@ -config->sso; - unset($auths->create); - unset($auths->edit); - return $auths; - } - - /** - * Get auth by code. - * - * @param string $code - * @access public - * @return object - */ - public function getAuth($code) - { - return $this->config->sso->$code; - } - - /** - * Create auth. - * - * @access public - * @return void - */ - public function createAuth() - { - $auth = fixer::input('post')->get(); - $items = new stdClass(); - $items->{$this->post->code} = $auth; - $this->loadModel('setting')->setItems("system.sso", $items); - } - - /** - * Update auth. - * - * @param int $code - * @access public - * @return void - */ - public function updateAuth($code) - { - $auth = fixer::input('post')->get(); - $items = new stdClass(); - $items->$code = $auth; - $this->loadModel('setting')->setItems("system.sso", $items); - } - - /** - * Delete auth. - * - * @param string $code - * @access public - * @return void - */ - public function deleteAuth($code) - { - $this->loadModel('setting')->deleteItems("owner=system&module=sso§ion=$code"); - } - - /** - * Get key of app. - * - * @param string $app - * @access public - * @return object - */ - public function getAppKey($app) - { - return $this->config->sso->$app->key; - } - - /** - * Check ip if is allowed. - * - * @param string $app - * @access public - * @return bool - */ - public function checkIP($app) - { - $ipParts = explode('.', $_SERVER['REMOTE_ADDR']); - $allowIPs = explode(',', $this->config->sso->$app->ip); - - foreach($allowIPs as $allowIP) - { - $allowIPParts = explode('.', $allowIP); - foreach($allowIPParts as $key => $allowIPPart) - { - if($allowIPPart == '*') $allowIPParts[$key] = $ipParts[$key]; - } - if(implode('.', $allowIPParts) == $_SERVER['REMOTE_ADDR']) return true; - } - return false; - } - - /** - * Identify user. - * - * @param string $app - * @access public - * @return bool | object - */ - public function identify($app) - { - if(!$this->checkIP($app)) return false; - - $key = $this->getAppKey($app); - - $account = ''; - $authcode = ''; - if($this->post->account) $account = $this->post->account; - if($this->get->account) $account = $this->get->account; - if($this->post->authcode) $authcode = $this->post->authcode; - if($this->get->authcode) $authcode = $this->get->authcode; - - if(!$account or !$authcode or !$key) return false; - - $user = $this->dao->select('*')->from(TABLE_USER) - ->where('account')->eq($account) - ->andWhere('deleted')->eq(0) - ->fetch(); - - if($user) - { - $code = md5($user->password . $key); - if($code == $authcode) return $user; - } - - return false; - } - - /** - * Create a key. - * - * @access public - * @return string - */ - public function createKey() - { - return md5(rand()); - } - - /** - * Get all departments. - * - * @access public - * @return object - */ - public function getAllDepts() - { - return $this->dao->select('*')->from(TABLE_DEPT)->fetchAll(); - } - - /** - * Get all users. - * - * @access public - * @return object - */ - public function getAllUsers() - { - return $this->dao->select('*')->from(TABLE_USER) - ->where('deleted')->eq(0) - ->fetchAll(); - } -} diff --git a/module/sso/view/browse.html.php b/module/sso/view/browse.html.php deleted file mode 100644 index d81b14ce1f..0000000000 --- a/module/sso/view/browse.html.php +++ /dev/null @@ -1,36 +0,0 @@ - -| sso->title;?> | -sso->code;?> | -sso->key;?> | -sso->ip;?> | -actions;?> | -
|---|---|---|---|---|
| title?> | -- | key?> | -ip?> | -- - | -