Exemplo n.º 1
0
 function login($params)
 {
     $auth = pam_auth::instance($params['type']);
     if ($params['module']) {
         if ($passport_module = kernel::single($params['module'])) {
             if ($passport_module instanceof pam_interface_passport) {
                 $module_uid = $passport_module->login($auth, $auth_data);
                 if ($module_uid) {
                     $auth->account()->update($params['module'], $module_uid, $auth_data);
                 }
                 $log = array('event_time' => time(), 'event_type' => $auth->type, 'event_data' => $auth_data['log_data']);
                 app::get('pam')->model('log')->insert($log);
                 $_SESSION['last_error'] = $auth_data['log_data'];
                 $_SESSION['type'] = $auth->type;
                 $_SESSION['login_time'] = time();
                 $url = '';
                 if ($params['mini']) {
                     $url = '?mini=1';
                 }
                 /**
                  * appעļ
                  */
                 $params['member_id'] = $module_uid;
                 $params['uname'] = $_POST['uname'];
                 foreach (kernel::servicelist('pam_login_listener') as $service) {
                     $service->listener_login($params);
                 }
                 header('Location:' . base64_decode(urldecode($params['redirect'])) . $url);
             }
         } else {
         }
     }
 }
Exemplo n.º 2
0
 public function logout($backurl = 'index.php')
 {
     $this->begin('index.php?app=desktop&ctl=dashboard');
     $this->user->login();
     $this->user->logout();
     $auth = pam_auth::instance(pam_account::get_account_type($this->app->app_id));
     foreach (vmc::servicelist('passport') as $k => $passport) {
         if ($auth->is_module_valid($k, $this->app->app_id)) {
             $passport->loginout($auth, $backurl);
         }
     }
     vmc::singleton('base_session')->destory();
     $this->end('true', '成功登出');
 }
Exemplo n.º 3
0
    function logout($backurl = 'index.php')
    {
        $this->begin('javascript:Cookie.dispose("basicloginform_password");Cookie.dispose("basicloginform_autologin");
					   location="' . kernel::router()->app->base_url(1) . '"');
        $this->user->login();
        $this->user->logout();
        $auth = pam_auth::instance(pam_account::get_account_type($this->app->app_id));
        foreach (kernel::servicelist('passport') as $k => $passport) {
            if ($auth->is_module_valid($k, $this->app->app_id)) {
                $passport->loginout($auth, $backurl);
            }
        }
        kernel::single('base_session')->destory();
        $this->end('true', app::get('desktop')->_('已成功退出系统,正在转向...'));
        /* $this->redirect('');*/
    }
Exemplo n.º 4
0
 function __construct($app)
 {
     $this->defaultwg = $this->defaultWorkground;
     parent::__construct($app);
     kernel::single('base_session')->start();
     $auth = pam_auth::instance(pam_account::get_account_type('desktop'));
     $account = $auth->account();
     if (get_class($this) != 'desktop_ctl_passport' && !$account->is_valid()) {
         $url = $this->app->router()->gen_url(array(), 1);
         $url = base64_encode($url);
         echo "<script>top.location='index.php?ctl=passport&url=" . $url . "'</script>";
         exit;
     }
     $this->user = kernel::single('desktop_user');
     if ($_GET['ctl'] != "passport" && $_GET['ctl'] != "") {
         $this->status = $this->user->get_status();
         if (!$this->status && $this->status == 0) {
             #echo "未启用";exit;
             //echo "<script>alert('管理员未启用')</script>";
             echo "<script>window.location='index.php?ctl=passport&act=logout'</script>";
             exit;
         }
     }
     ###如果不是超级管理员就查询操作权限
     if (!$this->user->is_super()) {
         if (!$this->user->chkground($this->workground)) {
             echo "您无权操作";
             exit;
         }
     }
     $this->_finish_modifier = array();
     foreach (kernel::servicelist(sprintf('desktop_controller_content.%s.%s.%s', $_GET['app'], $_GET['ctl'], $_GET['act'])) as $class_name => $service) {
         if ($service instanceof desktop_interface_controller_content) {
             if (method_exists($service, 'modify')) {
                 $this->_finish_modifier[$class_name] = $service;
             }
             if (method_exists($service, 'boot')) {
                 $service->boot($this);
             }
         }
     }
     if ($this->_finish_modifier) {
         ob_start();
         register_shutdown_function(array(&$this, 'finish_modifier'));
     }
     $this->url = 'index.php?app=' . $this->app->app_id . '&ctl=' . $_GET['ctl'];
 }
Exemplo n.º 5
0
 function index()
 {
     //TODO 模拟升级脚本
     if (!(app::get('desktop')->getConf('upgreade') === "YES")) {
         pam_account::register_account_type('desktop', 'shopadmin', '后台管理系统');
         pam_account::register_account_type('b2c', 'member', '前台会员系统');
         app::get('desktop')->setConf('upgreade', 'YES');
     }
     $auth = pam_auth::instance(pam_account::get_account_type($this->app->app_id));
     $auth->set_redirect_url($_GET['url']);
     $pagedata['pam_passport_basic_uname'] = $_COOKIE['pam_passport_basic_uname'];
     foreach (kernel::servicelist('passport') as $k => $passport) {
         if ($auth->is_module_valid($k)) {
             $this->pagedata['passports'][] = array('name' => $auth->get_name($k) ? $auth->get_name($k) : $passport->get_name(), 'html' => $passport->get_login_form($auth, 'desktop', 'basic-login.html', $pagedata));
         }
     }
     $this->display('login.html');
 }
Exemplo n.º 6
0
 function gen_auth_url()
 {
     $config = $this->config;
     $appid = $config['app_id']['value'];
     $appsecret = $config['app_secret']['value'];
     $auth = pam_auth::instance(pam_account::get_account_type('b2c'));
     $redirect_uri = $this->redirect_uri;
     if (!strpos($_SERVER['HTTP_REFERER'], 'passport') && !$_SESSION['signup_next']) {
         $_SESSION['signup_next'] = $_SERVER['HTTP_REFERER'];
     }
     $back_url = $_SESSION['signup_next'];
     unset($_SESSION['signup_next']);
     $state = base64_encode($back_url);
     $_url = "https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id={$appid}&redirect_uri={$redirect_uri}&state={$state}";
     if (base_mobiledetect::is_mobile()) {
         $_url .= '&display=mobile';
     }
     return $_url;
 }
Exemplo n.º 7
0
 public function admin_login()
 {
     $_POST['uname'] = $_POST['username'];
     $auth = pam_auth::instance('shopadmin');
     $auth->set_appid('desktop');
     $passport_module = kernel::single('pam_passport_basic');
     $module_uid = $passport_module->login($auth, $auth_data);
     $str_xml = $this->xml_encodeing;
     $str_xml .= "<data>";
     if ($module_uid) {
         $auth_data['account_type'] = $auth->type;
         $auth->account()->update('pam_passport_basic', $module_uid, $auth_data);
         //获取该项记录集合
         $users = app::get('desktop')->model('users');
         $roles = app::get('desktop')->model('roles');
         $sdf_users = $users->dump($module_uid);
         if ($sdf_users['super']) {
             $roles_info = "超级用户";
         } else {
             $workgroup = $roles->getList('*');
             $hasrole = app::get('desktop')->model('hasrole');
             $role_name = array();
             foreach ($workgroup as $key => $group) {
                 $rolesData = $hasrole->getList('*', array('user_id' => $module_uid, 'role_id' => $group['role_id']));
                 if ($rolesData) {
                     $role_name[] = $group['role_name'];
                 }
             }
             $roles_info = implode(',', $role_name);
         }
         $str_xml .= "<code>ok</code>";
         $str_xml .= "<info>" . $auth_data['log_data'] . "</info>";
         $str_xml .= "<contents><username>" . $_POST['uname'] . "</username><uid>{$module_uid}</uid><role>{$roles_info}</role></contents>";
     } else {
         $str_xml .= "<code>fail</code>";
         $str_xml .= "<info>" . implode(',', $auth_data) . "</info>";
     }
     $str_xml .= "</data>";
     echo $str_xml;
     exit;
 }
Exemplo n.º 8
0
 public function unset_seller()
 {
     $auth = pam_auth::instance(pam_account::get_account_type($this->app->app_id));
     foreach (vmc::servicelist('passport') as $k => $passport) {
         $passport->loginout($auth);
     }
     $this->app->seller_id = 0;
     vmc::singleton('base_session')->set_cookie_expires(0);
     $this->cookie_path = vmc::base_url() . '/';
     $this->set_cookie('UNAME', '', time() - 3600);
     //用户名
     $this->set_cookie('SELLER_IDENT', 0, time() - 3600);
     //会员ID
     foreach (vmc::servicelist('seller.logout_after') as $service) {
         $service->logout();
     }
 }
Exemplo n.º 9
0
 public function __construct($app)
 {
     header('Cache-Control:no-store, no-cache, must-revalidate');
     // HTTP/1.1
     header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
     // 强制查询etag
     header('Progma: no-cache');
     if (app::get('base')->getConf('shell_base_url') != vmc::base_url(1)) {
         app::get('base')->setConf('shell_base_url', vmc::base_url(1));
     }
     $this->fix_location();
     $this->defaultwg = $this->defaultWorkground;
     parent::__construct($app);
     vmc::singleton('base_session')->start();
     if ($_COOKIE['autologin'] > 0) {
         vmc::singleton('base_session')->set_sess_expires($_COOKIE['autologin']);
     }
     //如果有自动登录,设置session过期时间,单位:分
     $auth = pam_auth::instance(pam_account::get_account_type('desktop'));
     $account = $auth->account();
     if (get_class($this) != 'desktop_ctl_passport' && !$account->is_valid()) {
         if (get_class($this) != 'desktop_ctl_default') {
             $url = app::get('desktop')->router()->gen_url($_GET, 1);
         } else {
             $url = app::get('desktop')->router()->gen_url(array(), 1);
         }
         $url = base64_encode($url);
         $_SESSION['passport_redirect_url'] = $url;
         echo "<script>top.location = '?ctl=passport'</script>";
         exit;
     }
     $this->user = vmc::singleton('desktop_user');
     if ($_GET['ctl'] != 'passport' && $_GET['ctl'] != '') {
         $this->status = $this->user->get_status();
         if (!$this->status && $this->status == 0) {
             unset($_SESSION['account']);
             $url = app::get('desktop')->router()->gen_url(array(), 1);
             $url = base64_encode($url);
             $_SESSION['passport_redirect_url'] = $url;
             header('Content-Type:text/html; charset=utf-8');
             $this->pagedata['link_url'] = '?ctl=passport';
             echo $this->fetch('auth_error.html');
             exit;
         }
     }
     ###如果不是超级管理员就查询操作权限
     if (!$this->user->is_super()) {
         if (!$this->user->chkground()) {
             echo $this->fetch('auth_error.html');
             exit;
         }
     }
     $this->_finish_modifier = array();
     foreach (vmc::servicelist(sprintf('desktop_controller_content.%s.%s.%s', $_GET['app'], $_GET['ctl'], $_GET['act'])) as $class_name => $service) {
         if ($service instanceof desktop_interface_controller_content) {
             if (method_exists($service, 'modify')) {
                 $this->_finish_modifier[$class_name] = $service;
             }
             if (method_exists($service, 'boot')) {
                 $service->boot($this);
             }
         }
     }
     //修改tab detail 里的内容
     foreach (vmc::servicelist(sprintf('desktop_controller_content_finderdetail.%s.%s.%s.%s', $_GET['app'], $_GET['ctl'], $_GET['act'], (string) (isset($_GET['finderview']) ? $_GET['finderview'] : '0'))) as $class_name => $service) {
         if ($service instanceof desktop_interface_controller_content) {
             if (method_exists($service, 'modify')) {
                 $this->_finish_modifier[$class_name] = $service;
             }
             if (method_exists($service, 'boot')) {
                 $service->boot($this);
             }
         }
     }
     if ($this->_finish_modifier) {
         ob_start();
         register_shutdown_function(array(&$this, 'finish_modifier'));
     }
     $this->url = 'index.php?app=' . $this->app->app_id . '&ctl=' . $_GET['ctl'];
     foreach (vmc::servicelist('desktop_controller_destruct') as $service) {
         if (is_object($service) && method_exists($service, 'construct')) {
             $service->construct();
         }
     }
 }
Exemplo n.º 10
0
 function unset_member()
 {
     $auth = pam_auth::instance(pam_account::get_account_type($this->app->app_id));
     foreach (kernel::servicelist('passport') as $k => $passport) {
         $passport->loginout($auth);
     }
     $this->app->member_id = 0;
     $this->cookie_path = kernel::base_url() . '/';
     $this->set_cookie('MEMBER', null, time() - 3600);
     $this->set_cookie('UNAME', '', time() - 3600);
     $this->set_cookie('MLV', '', time() - 3600);
     $this->set_cookie('CUR', '', time() - 3600);
     $this->set_cookie('LANG', '', time() - 3600);
     $this->set_cookie('S[MEMBER]', '', time() - 3600);
     foreach (kernel::servicelist('member_logout') as $service) {
         $service->logout();
     }
 }
Exemplo n.º 11
0
 /**
  * 登录调用的方法
  * @param array $params 认证传递的参数,包含认证类型,跳转地址等
  */
 function login($params)
 {
     kernel::single('site_controller')->RemoveXSS($params['module']);
     //过滤xss攻击
     $auth = pam_auth::instance($params['type']);
     $auth->set_appid($params['appid']);
     try {
         class_exists($params['module']);
     } catch (Exception $e) {
         kernel::single('site_router')->http_status('p404');
     }
     if ($params['module']) {
         if (class_exists($params['module']) && ($passport_module = kernel::single($params['module']))) {
             if ($passport_module instanceof pam_interface_passport) {
                 $module_uid = $passport_module->login($auth, $auth_data);
                 if ($module_uid) {
                     $auth_data['account_type'] = $params['type'];
                     $auth->account()->update($params['module'], $module_uid, $auth_data);
                 }
                 $log = array('event_time' => time(), 'event_type' => $auth->type, 'event_data' => base_request::get_remote_addr() . ':' . $auth_data['log_data'] . ':' . $_SERVER['HTTP_REFERER']);
                 app::get('pam')->model('log')->insert($log);
                 if (!$module_uid) {
                     $_SESSION['last_error'] = $auth_data['log_data'];
                 }
                 $_SESSION['type'] = $auth->type;
                 $_SESSION['login_time'] = time();
                 $params['member_id'] = $_SESSION['account'][$params['type']];
                 $params['uname'] = $_POST['uname'];
                 /*foreach(kernel::servicelist('pam_login_listener') as $service)
                   {
                       $service->listener_login($params);
                   }*/
                 if ($params['redirect'] && $module_uid) {
                     $service = kernel::service('callback_infomation');
                     if (is_object($service)) {
                         if (method_exists($service, 'get_callback_infomation') && $module_uid) {
                             $data = $service->get_callback_infomation($module_uid, $params['type']);
                             if (!$data) {
                                 $url = '';
                             } else {
                                 $url = '?' . utils::http_build_query($data);
                             }
                         }
                     }
                 }
                 if ($_COOKIE['autologin'] > 0) {
                     kernel::single('base_session')->set_cookie_expires($_COOKIE['autologin']);
                     //如果自动登录,设置cookie过期时间,单位:分
                 }
                 if ($_SESSION['callback'] && !$module_uid) {
                     $callback_url = $_SESSION['callback'];
                     unset($_SESSION['callback']);
                     header('Location:' . urldecode($callback_url));
                     exit;
                 } else {
                     header('Location:' . base64_decode(str_replace('%2F', '/', urldecode($params['redirect']))) . $url);
                     exit;
                 }
             }
         } else {
         }
     }
 }
Exemplo n.º 12
0
 private function gen_login_form()
 {
     if ($_SESSION['next_page']) {
         $url = $_SESSION['next_page'];
     } else {
         $url = $this->gen_url(array('app' => 'b2c', 'ctl' => 'site_member', 'act' => 'index'));
     }
     #var_dump($url);echo "<hr/>";
     unset($_SESSION['next_page']);
     $auth = pam_auth::instance(pam_account::get_account_type($this->app->app_id));
     $pagedata['singup_url'] = $this->gen_url(array('app' => 'b2c', 'ctl' => 'site_passport', 'act' => 'signup'));
     $pagedata['lost_url'] = $this->gen_url(array('app' => 'b2c', 'ctl' => 'site_passport', 'act' => 'lost'));
     $pagedata['loginName'] = $_COOKIE['loginName'];
     #设置回调函数地址
     $auth->set_redirect_url(base64_encode($this->gen_url(array('app' => 'b2c', 'ctl' => 'site_passport', 'act' => 'post_login', 'arg' => base64_encode($url)))));
     #print_r(kernel::servicelist('passport'));exit;
     foreach (kernel::servicelist('passport') as $k => $passport) {
         if ($auth->is_module_valid($k)) {
             $this->pagedata['passports'][] = array('name' => $auth->get_name($k) ? $auth->get_name($k) : $passport->get_name(), 'html' => $passport->get_login_form($auth, 'b2c', 'site/passport/member-login.html', $pagedata));
         }
     }
 }
Exemplo n.º 13
0
 function __construct($app)
 {
     header("Cache-Control:no-store, no-cache, must-revalidate");
     // HTTP/1.1
     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     // 强制查询etag
     header('Progma: no-cache');
     $this->defaultwg = $this->defaultWorkground;
     parent::__construct($app);
     kernel::single('base_session')->start();
     if ($_COOKIE['autologin'] > 0) {
         kernel::single('base_session')->set_sess_expires($_COOKIE['autologin']);
     }
     //如果有自动登录,设置session过期时间,单位:分
     $auth = pam_auth::instance(pam_account::get_account_type('desktop'));
     $account = $auth->account();
     if (get_class($this) != 'desktop_ctl_passport' && !$account->is_valid()) {
         if (get_class($this) != 'desktop_ctl_default') {
             $url = kernel::router()->gen_url($_GET, 1);
         } else {
             $url = kernel::router()->gen_url(array(), 1);
         }
         $url = base64_encode($url);
         $arr_get = $_GET;
         foreach ($arr_get as &$str_get) {
             $str_get = urldecode($str_get);
         }
         $params = urlencode(json_encode($arr_get));
         $_GOTO = 'index.php?ctl=passport&url=' . $url . '&params=' . $params;
         echo "<script>location ='{$_GOTO}'</script>";
         exit;
     }
     $this->user = kernel::single('desktop_user');
     if ($_GET['ctl'] != "passport" && $_GET['ctl'] != "") {
         $this->status = $this->user->get_status();
         if (!$this->status && $this->status == 0) {
             #echo "未启用";exit;
             //echo "<script>alert('管理员未启用')</script>";
             $url = kernel::router()->gen_url(array(), 1);
             $url = base64_encode($url);
             header('Content-Type:text/html; charset=utf-8');
             $this->pagedata['link_url'] = 'index.php?ctl=passport&url=' . $url;
             echo $this->fetch('auth_error.html');
             exit;
         }
     }
     ###如果不是超级管理员就查询操作权限
     if (!$this->user->is_super()) {
         if (!$this->user->chkground($this->workground)) {
             header('Content-Type:text/html; charset=utf-8');
             echo app::get('desktop')->_("您无权操作");
             exit;
         }
     }
     $obj_model = app::get('desktop')->model('menus');
     //检查链接是否可用
     $obj_model->permissionId($_GET);
     //end
     $this->_finish_modifier = array();
     foreach (kernel::servicelist(sprintf('desktop_controller_content.%s.%s.%s', $_GET['app'], $_GET['ctl'], $_GET['act'])) as $class_name => $service) {
         if ($service instanceof desktop_interface_controller_content) {
             if (method_exists($service, 'modify')) {
                 $this->_finish_modifier[$class_name] = $service;
             }
             if (method_exists($service, 'boot')) {
                 $service->boot($this);
             }
         }
     }
     //修改tab detail 里的内容
     foreach (kernel::servicelist(sprintf('desktop_controller_content_finderdetail.%s.%s.%s.%s', $_GET['app'], $_GET['ctl'], $_GET['act'], (string) (isset($_GET['finderview']) ? $_GET['finderview'] : '0'))) as $class_name => $service) {
         if ($service instanceof desktop_interface_controller_content) {
             if (method_exists($service, 'modify')) {
                 $this->_finish_modifier[$class_name] = $service;
             }
             if (method_exists($service, 'boot')) {
                 $service->boot($this);
             }
         }
     }
     if ($this->_finish_modifier) {
         ob_start();
         register_shutdown_function(array(&$this, 'finish_modifier'));
     }
     $this->url = 'index.php?app=' . $this->app->app_id . '&ctl=' . $_GET['ctl'];
 }
Exemplo n.º 14
0
 /**
  * 登录调用的方法.
  *
  * @param array $params 认证传递的参数,包含认证类型,跳转地址等
  */
 public function login($params)
 {
     $params['module'] = utils::_filter_input($params['module']);
     //过滤xss攻击
     $auth = pam_auth::instance($params['type']);
     $auth->set_appid($params['appid']);
     if (!class_exists($params['module'])) {
         vmc::singleton('site_router')->http_status(500);
     }
     if ($params['module']) {
         if (class_exists($params['module']) && ($passport_module = vmc::singleton($params['module']))) {
             if ($passport_module instanceof pam_interface_passport) {
                 $module_uid = $passport_module->login($auth, $auth_data);
                 if ($module_uid) {
                     $auth_data['account_type'] = $params['type'];
                     $auth->account()->update($params['module'], $module_uid, $auth_data);
                 }
                 $log = array('event_time' => time(), 'event_type' => $auth->type, 'event_data' => base_request::get_remote_addr() . ':' . $auth_data['log_data'] . ':' . $_SERVER['HTTP_REFERER']);
                 app::get('pam')->model('log_desktop')->insert($log);
                 if (!$module_uid) {
                     $_SESSION['last_error'] = $auth_data['log_data'];
                 }
                 $_SESSION['type'] = $auth->type;
                 $_SESSION['login_time'] = time();
                 $params['member_id'] = $_SESSION['account'][$params['type']];
                 $params['uname'] = $_POST['uname'];
                 foreach (vmc::servicelist('pam_login_listener') as $service) {
                     $service->listener_login($params);
                 }
                 if ($params['redirect'] && $module_uid) {
                     $service = vmc::service('callback_infomation');
                     if (is_object($service)) {
                         if (method_exists($service, 'get_callback_infomation') && $module_uid) {
                             $data = $service->get_callback_infomation($module_uid, $params['type']);
                             if (!$data) {
                                 $url = '';
                             } else {
                                 $url = '?' . utils::http_build_query($data);
                             }
                         }
                     }
                 }
                 if ($_COOKIE['autologin'] > 0) {
                     vmc::singleton('base_session')->set_cookie_expires($_COOKIE['autologin']);
                     //如果自动登录,设置cookie过期时间,单位:分
                 }
                 if ($_COOKIE['S']['SIGN']['AUTO'] > 0) {
                     $minutes = 10 * 24 * 60;
                     vmc::singleton('base_session')->set_cookie_expires($minutes);
                 }
                 if ($_SESSION['callback'] && !$module_uid) {
                     $callback_url = $_SESSION['callback'];
                     unset($_SESSION['callback']);
                     header('Location:' . urldecode($callback_url));
                     exit;
                 } else {
                     $url = base64_decode(str_replace('%2F', '/', urldecode($params['redirect']))) . $url;
                     if (!$url) {
                         foreach (vmc::$url_app_map as $key => $value) {
                             $app = current($value);
                             if ($app == 'desktop') {
                                 $url = $key;
                             }
                         }
                     }
                     header('Location: ' . $url);
                     exit;
                 }
             }
         } else {
         }
     }
 }
Exemplo n.º 15
0
 /**
  * 联盟商登录验证
  * @access public
  */
 public function login()
 {
     $this->set_tmpl('cps_common');
     //之前访问页面路径
     $oldUrl = $this->_request->get_param(0);
     //原先访问地址存入SESSION
     if ($oldUrl) {
         $_SESSION['CPS']['LOGIN_OLD_URL'] = $oldUrl;
     }
     //实例化pam_auth
     $auth = pam_auth::instance('cpsuser');
     $auth->set_appid($this->app->app_id);
     //设置回调函数地址
     $auth->set_redirect_url(base64_encode($this->gen_url(array('app' => 'cps', 'ctl' => 'site_user', 'act' => 'post_login'))));
     foreach (kernel::servicelist('passport') as $k => $passport) {
         if ($auth->is_module_valid($k)) {
             $passport->get_login_form($auth, 'cps', 'site/user/login.html', $pagedata);
         }
     }
     $this->pagedata['oldUrl'] = $_SESSION['CPS']['LOGIN_OLD_URL'];
     $this->page('site/user/login.html');
 }