python - How to make a simple login without a database and without a form -


i want add simple login feature 1 can either logged in or not logged in (no user-specific data needs stored).

i made user class:

class user(object): def __init__(self, username, hash):     self.name = username     self.hash = hash 

and load list of users ini file.

i implemented user_loader function

@self.login_manager.user_loader     def load_user(userid):         user in self.users:             if user.name == userid                 return user         return none 

what goes in login method?

@self.server.route("api/login", methods=["get", "post"])         def login(): 

i want login ajax request send credentials , json response contains username or error message.

simple example, work post /api/login username=test_user&hash=test_hash data or get /api/login?username=test_user&hash=test_hash:

class user(usermixin):      def __init__(self, username, hash):         self.name = username         self.hash = hash      @property     def id(self):         return self.name   @self.server.route('/api/login', methods=['get', 'post']) def login():     user = load_user(request.values.get('username'))     if user , user.hash == request.values.get('hash'):         login_user(user)         return jsonify(status='ok', username=user.username)     else:         return jsonify(status='error', message='wrong username or hash') 

however prefer post http method login.

really own implementation dependent js call, example can use request.get_json instead post request.form or request.args. , login algorithm (credentials fields).

also load_user can slow big amount of users.


Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -