Guest User

Untitled

a guest
Dec 12th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. {% extends "bootstrap/base.html" %}
  2. {% block content %}
  3. <div class="container">
  4. <div class="row">
  5. <form class="form-signin" action="/logmein" method="POST">
  6. <h2 class="form-signin-heading"> PCBevo Login</h2>
  7. <div class="col-2">
  8. <label for="username" class="sr-only">Username</label>
  9. <input type="text" id="username" class="form-control" placeholder="username" name="username" required autofocus>
  10. </div>
  11. <div class="col-3">
  12. <label for="inputPassword" class="sr-only">Password</label>
  13. <input type="password" id="inputPassword" class="form-control" placeholder="password" name="password" required>
  14. </div>
  15. <div class="col-4">
  16. <button class="btn btn-lg btn-primary btn-block" type="submit" value="Submit">Sign in</button>
  17. </div>
  18. </form>
  19. </div>
  20.  
  21. </div> <!-- /container -->
  22. {% endblock %}
  23.  
  24. class User(UserMixin, db.Model):
  25. __tablename__ = "users"
  26. id = db.Column(db.Integer, primary_key=True)
  27. username = db.Column(db.String(254), unique=True)
  28. email = db.Column(db.String(50), unique=True)
  29. password = db.Column(db.String(80))
  30. groups = db.Column(db.String(80))
  31.  
  32. def __init__(self, username, email, password, groups):
  33. self.username = username
  34. self.email = email
  35. self.password = password
  36. self.groups = groups if isinstance(groups, str) else ','.join(groups)
  37.  
  38. def __repr__(self):
  39. clsname = self.__class__.__name__
  40. return "{}({}) ".format(clsname, self.username)
  41.  
  42. def is_developer(self):
  43.  
  44. return isinstance(self.groups, str) and 'dev' in self.groups.split(',')
  45.  
  46. login_manager = LoginManager()
  47. login_manager.init_app(app)
  48. login_manager.login_view = 'login'
  49.  
  50. @login_manager.user_loader
  51. def load_user(user_id):
  52. return User.query.get(int(user_id))
  53.  
  54. @app.route('/login')
  55. def login():
  56. session['next'] = request.args.get('next')
  57. return render_template('login.html')
  58.  
  59. @app.route('/logmein', methods=['POST'])
  60. def logmein():
  61. username = request.form['username']
  62. password = request.form['password']
  63. user = User.query.filter_by(username=username).first()
  64.  
  65. if not user:
  66. return '<h1>User not found!</h1>'
  67.  
  68. stored_password = user.password
  69. if check_password_hash(stored_password, password):
  70. login_user(user)
  71. try:
  72. return redirect(session['next'])
  73. except KeyError:
  74. return '<h1>You are now logged in!</h1>'
  75. else:
  76. return '<h1>Wrong password!</h1>'
Add Comment
Please, Sign In to add comment