예제 #1
0
    def post(self):
        ps = self.get_page_config('修改密码')
        ls = ['oldPassWord', 'newPassWord1', 'newPassWord2']
        ps = self.get_args(ls=ls, default='', map=ps)
        user = self.current_user
        ps['user'] = user

        msg = self.check_str_empty_input(ps, ls)
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('password_edit_bs.html', **ps)
            return

        try:
            type = user_logic.update_password(name = user['name'], oldPassWord = ps['oldPassWord'] , 
                              newPassWord1=ps['newPassWord1'], newPassWord2=ps['newPassWord2'])
            if type:
                if None != user['loginCount'] and 0 >= user['loginCount']:
                    ''' 第一次强制修改密码后更新登录计数  '''
                    user_logic.update_goto_app(
                        user['name'], config.SOCRightConfig['appCode'], ip=self.get_user_ip())
                    oper_log_logic.add(operID=user['id'], operUserName=user['name'], operRealName=user[
                                                               'realName'], appCode='SOCRight', funcPath='', action='userActivate', targetType=0, targetID='', targetName='', startStatus='', endStatus='', operIp=self.get_user_ip())

                self.clear_user_info()
                ps['msg'] = '操作成功'
                ps['gotoUrl'] = ps['serviceSiteDomain'] + 'Login'
            else:
                ps['msg'] = state.ResultInfo.get(101, '')
        except error.RightError as e:
            ps['msg'] = e.msg

        self.render('password_edit_bs.html', **ps)
예제 #2
0
 def get(self):
     ps = self.get_page_config('')
     ps['appCode'] = self.get_arg('appCode', '')
     user = self.get_current_user()
     if '' == ps['appCode'] or None == user:
         self.redirect(ps['serviceSiteDomain'] + 'AppList')
         return
     print user
     gotoUrl = user_logic.get_goto_user_url(userID=user['id'],
                                            appCode=ps['appCode'],
                                            ip=self.get_user_ip(),
                                            backUrl='')
     print gotoUrl
     oper_log_logic.add(operID=user['id'],
                        operUserName=user['name'],
                        operRealName=user['realName'],
                        appCode=ps['appCode'],
                        funcPath='',
                        action='userLogin',
                        targetType=0,
                        targetID='',
                        targetName='',
                        startStatus='',
                        endStatus='',
                        operIp=self.get_user_ip())
     self.redirect(gotoUrl)
예제 #3
0
    def get(self):
        ps = self.get_page_config('')
        ps['appCode'] = self.get_arg('appCode', '')
        user = self.get_current_user()
        if '' == ps['appCode'] or None == user:
            self.redirect(ps['serviceSiteDomain'] + 'AppList')
            return

        gotoUrl = user_logic.get_goto_user_url(
            userID=user['id'], appCode=ps['appCode'], ip=self.get_user_ip(), backUrl='')
        oper_log_logic.add(operID=user['id'], operUserName=user['name'], operRealName=user[
                                                   'realName'], appCode=ps['appCode'], funcPath='', action='userLogin', targetType=0, targetID='', targetName='', startStatus='', endStatus='', operIp=self.get_user_ip())
        self.redirect(gotoUrl)
예제 #4
0
    def post(self):
        ps = self.get_page_config('登录')

        host = self.request.host
        if host not in ps['serviceSiteDomain']:
            self.redirect(ps['siteDomain'] + 'Admin')

        ps = self.get_args(
            ls=['backUrl', 'appCode', 'userName', 'passWord'], default='', map=ps)
        if ps['userName'] == '' or ps['passWord'] == '':
            self.redirect(ps['serviceSiteDomain'] + 'Login?msg=100001')
            return
        user = user_logic.login(ps['userName'], ps['passWord'])
        if None == user:
            self.redirect(ps['serviceSiteDomain'] + 'Login?msg=100002')
            return

        uuid = str_helper.get_uuid()
        redis_cache.setObj(uuid, user, config.cache['userTimeOut'])
        ex = ps['now'] + timedelta(seconds=config.cache['userTimeOut'])
        self.clear_all_cookies()
        self.set_cookie(name=config.SOCRightConfig[
                        'rightCookieName'], value=uuid, expires=ex)

        '''  记录日志 '''
        ac = ps['appCode']
        if None == ac or '' == ac:
            ac = 'SOCRight'
        oper_log_logic.add(operID=user['id'], operUserName=user['name'], operRealName=user[
                                                   'realName'], appCode=ac, funcPath='', action='userLogin', targetType=0, targetID='', targetName='', startStatus='', endStatus='', operIp=self.get_user_ip())


        if None != user['loginCount'] and 0 >= user['loginCount'] and 'passwordedit' not in self.request.path.lower():
            params = {'msg': '100003'}
            url = self.format_url(config.SOCRightConfig[
                                  'serviceSiteDomain'] + 'PassWordEdit', params)
            self.redirect(url)
            return

        if ps['appCode'] != '':
            if None == user['loginCount'] or 0 == user['loginCount']:
                self.redirect(ps['serviceSiteDomain'] + 'PassWordEdit?msg=100003&appCode=' +
                              str_helper.url_escape(ps['appCode']) + '&backUrl=' + 
                              str_helper.url_escape(ps['backUrl']))            

            backUrl = user_logic.get_goto_user_url(
                userID=user['id'], appCode=ps['appCode'], ip=self.get_user_ip(), backUrl=ps['backUrl'])

            self.redirect(backUrl)
        else:
            self.redirect(ps['serviceSiteDomain'] + 'AppList')
예제 #5
0
    def post(self):
        ps = self.get_page_config('修改密码')
        ls = ['oldPassWord', 'newPassWord1', 'newPassWord2']
        ps = self.get_args(ls=ls, default='', map=ps)
        user = self.current_user
        ps['user'] = user

        msg = self.check_str_empty_input(ps, ls)
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('password_edit_bs.html', **ps)
            return

        try:
            type = user_logic.update_password(name=user['name'],
                                              oldPassWord=ps['oldPassWord'],
                                              newPassWord1=ps['newPassWord1'],
                                              newPassWord2=ps['newPassWord2'])
            if type:
                if None != user['loginCount'] and 0 >= user['loginCount']:
                    ''' 第一次强制修改密码后更新登录计数  '''
                    user_logic.update_goto_app(
                        user['name'],
                        config.SOCRightConfig['appCode'],
                        ip=self.get_user_ip())
                    oper_log_logic.add(operID=user['id'],
                                       operUserName=user['name'],
                                       operRealName=user['realName'],
                                       appCode='SOCRight',
                                       funcPath='',
                                       action='userActivate',
                                       targetType=0,
                                       targetID='',
                                       targetName='',
                                       startStatus='',
                                       endStatus='',
                                       operIp=self.get_user_ip())

                self.clear_user_info()
                ps['msg'] = '操作成功'
                ps['gotoUrl'] = ps['serviceSiteDomain'] + 'Login'
            else:
                ps['msg'] = state.ResultInfo.get(101, '')
        except error.RightError as e:
            ps['msg'] = e.msg

        self.render('password_edit_bs.html', **ps)
예제 #6
0
 def write_oper_log(self,
                    action,
                    targetType=0,
                    targetID='',
                    targetName='',
                    startStatus='',
                    endStatus=''):
     u = self.current_user
     oper_log_logic.add(operID=u['id'],
                        operUserName=u['name'],
                        operRealName=u['realName'],
                        appCode='SOCRight',
                        funcPath=self._rightKey,
                        action=action,
                        targetType=targetType,
                        targetID=targetID,
                        targetName=targetName,
                        startStatus=startStatus,
                        endStatus=endStatus,
                        operIp=self.get_user_ip())
예제 #7
0
 def write_oper_log(self, action, targetType = 0, targetID = '', targetName = '', startStatus = '', endStatus= '', user = None):
     if None == user:
         return
     oper_log_logic.add(operID=user['id'], operUserName=user['name'], operRealName=user['realName'], 
         appCode='SOCRight', funcPath=self._rightKey, action=action, targetType=targetType, 
         targetID=targetID, targetName=targetName, startStatus=startStatus, endStatus=endStatus, operIp=self.get_user_ip())
예제 #8
0
    def post(self):
        ps = self.get_page_config('登录')

        host = self.request.host
        if host not in ps['serviceSiteDomain']:
            self.redirect(ps['siteDomain'] + 'Admin')

        ps = self.get_args(ls=['backUrl', 'appCode', 'userName', 'passWord'],
                           default='',
                           map=ps)
        if ps['userName'] == '' or ps['passWord'] == '':
            self.redirect(ps['serviceSiteDomain'] + 'Login?msg=100001')
            return
        user = user_logic.login(ps['userName'], ps['passWord'])
        if None == user:
            self.redirect(ps['serviceSiteDomain'] + 'Login?msg=100002')
            return

        uuid = str_helper.get_uuid()
        redis_cache.setObj(uuid, user, config.cache['userTimeOut'])
        ex = ps['now'] + timedelta(seconds=config.cache['userTimeOut'])
        self.clear_all_cookies()
        self.set_cookie(name=config.SOCRightConfig['rightCookieName'],
                        value=uuid,
                        expires=ex)
        '''  记录日志 '''
        ac = ps['appCode']
        if None == ac or '' == ac:
            ac = 'SOCRight'
        oper_log_logic.add(operID=user['id'],
                           operUserName=user['name'],
                           operRealName=user['realName'],
                           appCode=ac,
                           funcPath='',
                           action='userLogin',
                           targetType=0,
                           targetID='',
                           targetName='',
                           startStatus='',
                           endStatus='',
                           operIp=self.get_user_ip())

        if None != user['loginCount'] and 0 >= user[
                'loginCount'] and 'passwordedit' not in self.request.path.lower(
                ):
            params = {'msg': '100003'}
            url = self.format_url(
                config.SOCRightConfig['serviceSiteDomain'] + 'PassWordEdit',
                params)
            self.redirect(url)
            return

        if ps['appCode'] != '':
            if None == user['loginCount'] or 0 == user['loginCount']:
                self.redirect(ps['serviceSiteDomain'] +
                              'PassWordEdit?msg=100003&appCode=' +
                              str_helper.url_escape(ps['appCode']) +
                              '&backUrl=' +
                              str_helper.url_escape(ps['backUrl']))

            backUrl = user_logic.get_goto_user_url(userID=user['id'],
                                                   appCode=ps['appCode'],
                                                   ip=self.get_user_ip(),
                                                   backUrl=ps['backUrl'])

            self.redirect(backUrl)
        else:
            self.redirect(ps['serviceSiteDomain'] + 'AppList')