示例#1
0
    def test_bypass_restict_ip(self):
        '''
		1. Raise error if user not login from one of the restrict_ip, Bypass restrict ip check disabled by default
		2. Bypass restrict ip check enabled in System Settings
		3. Bypass restrict ip check enabled for User
		'''

        #1
        user = frappe.get_doc('User', self.user)
        user.restrict_ip = "192.168.255.254"  #Dummy IP
        user.bypass_restrict_ip_check_if_2fa_enabled = 0
        user.save()
        enable_2fa(bypass_restrict_ip_check=0)
        with self.assertRaises(frappe.AuthenticationError):
            validate_ip_address(self.user)

        #2
        enable_2fa(bypass_restrict_ip_check=1)
        self.assertIsNone(validate_ip_address(self.user))

        #3
        user = frappe.get_doc('User', self.user)
        user.bypass_restrict_ip_check_if_2fa_enabled = 1
        user.save()
        enable_2fa()
        self.assertIsNone(validate_ip_address(self.user))
示例#2
0
	def resume(self):
		"""non-login request: load a session"""
		import frappe
		from frappe.auth import validate_ip_address
		data = self.get_session_record()

		if data:
			self.data.update({'data': data, 'user':data.user, 'sid': self.sid})
			self.user = data.user
			validate_ip_address(self.user)
			self.device = data.device
		else:
			self.start_as_guest()

		if self.sid != "Guest":
			frappe.local.user_lang = frappe.translate.get_user_lang(self.data.user)
			frappe.local.lang = frappe.local.user_lang