jeongsoo commited on
Commit
584355a
ยท
1 Parent(s): 6be0e6a

Add application file

Browse files
Files changed (1) hide show
  1. app/app.py +49 -4
app/app.py CHANGED
@@ -69,8 +69,14 @@ app_ready = False
69
  def login_required(f):
70
  @wraps(f)
71
  def decorated_function(*args, **kwargs):
 
 
 
72
  if 'logged_in' not in session:
 
73
  return redirect(url_for('login'))
 
 
74
  return f(*args, **kwargs)
75
  return decorated_function
76
 
@@ -187,28 +193,67 @@ init_thread.start()
187
  @app.route('/login', methods=['GET', 'POST'])
188
  def login():
189
  error = None
 
 
 
190
  if request.method == 'POST':
191
- username = request.form['username']
192
- password = request.form['password']
 
 
 
 
 
 
193
 
194
  # .env์—์„œ ๊ณ„์ • ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
195
  valid_username = os.getenv('ADMIN_USERNAME')
196
  valid_password = os.getenv('ADMIN_PASSWORD')
197
 
 
 
 
198
  if username == valid_username and password == valid_password:
 
199
  session['logged_in'] = True
200
  session['username'] = username
 
201
  return redirect(url_for('index'))
202
  else:
 
 
 
 
 
 
203
  error = '์•„์ด๋”” ๋˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.'
 
 
 
 
 
 
204
 
 
205
  return render_template('login.html', error=error)
206
 
207
  # ๋กœ๊ทธ์•„์›ƒ ๋ผ์šฐํŠธ
208
  @app.route('/logout')
209
  def logout():
210
- session.pop('logged_in', None)
211
- session.pop('username', None)
 
 
 
 
 
 
 
 
 
 
 
 
212
  return redirect(url_for('login'))
213
 
214
  @app.route('/')
 
69
  def login_required(f):
70
  @wraps(f)
71
  def decorated_function(*args, **kwargs):
72
+ logger.info(f"----------- ์ธ์ฆ ํ•„์š” ํŽ˜์ด์ง€ ์ ‘๊ทผ ์‹œ๋„: {request.path} -----------")
73
+ logger.info(f"ํ˜„์žฌ ์„ธ์…˜ ์ƒํƒœ: logged_in={session.get('logged_in', False)}, username={session.get('username', 'None')}")
74
+
75
  if 'logged_in' not in session:
76
+ logger.warning(f"๋น„๋กœ๊ทธ์ธ ์ƒํƒœ์—์„œ {request.path} ์ ‘๊ทผ ์‹œ๋„, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋””๋ ‰์…˜")
77
  return redirect(url_for('login'))
78
+
79
+ logger.info(f"์ธ์ฆ ์„ฑ๊ณต: {session.get('username', 'unknown')} ์‚ฌ์šฉ์ž๊ฐ€ {request.path} ์ ‘๊ทผ")
80
  return f(*args, **kwargs)
81
  return decorated_function
82
 
 
193
  @app.route('/login', methods=['GET', 'POST'])
194
  def login():
195
  error = None
196
+ logger.info("-------------- ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ ‘์† --------------")
197
+ logger.info(f"Method: {request.method}")
198
+
199
  if request.method == 'POST':
200
+ logger.info("๋กœ๊ทธ์ธ ์‹œ๋„ ๋ฐ›์Œ")
201
+
202
+ # ์ž…๋ ฅ๋ฐ›์€ ์ž๊ฒฉ์ฆ๋ช… ๋กœ๊น…
203
+ username = request.form.get('username', '')
204
+ password = request.form.get('password', '')
205
+ logger.info(f"์ž…๋ ฅ๋œ ์‚ฌ์šฉ์ž๋ช…: {username}")
206
+ # ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์ผ๋ถ€ ๊ฒ€์ถœ ํ›„ ๋กœ๊น…
207
+ logger.info(f"๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์—ฌ๋ถ€: {len(password) > 0}")
208
 
209
  # .env์—์„œ ๊ณ„์ • ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
210
  valid_username = os.getenv('ADMIN_USERNAME')
211
  valid_password = os.getenv('ADMIN_PASSWORD')
212
 
213
+ logger.info(f"ํ™˜๊ฒฝ๋ณ€์ˆ˜์—์„œ ๊ฐ€์ ธ์˜จ ์‚ฌ์šฉ์ž๋ช…: {valid_username if valid_username else '์ •์˜๋˜์ง€ ์•Š์Œ'}")
214
+ logger.info(f"ํ™˜๊ฒฝ๋ณ€์ˆ˜์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฐ€์ ธ์˜จ ์—ฌ๋ถ€: {len(valid_password) > 0 if valid_password else False}")
215
+
216
  if username == valid_username and password == valid_password:
217
+ logger.info(f"๋กœ๊ทธ์ธ ์„ฑ๊ณต: {username}")
218
  session['logged_in'] = True
219
  session['username'] = username
220
+ logger.info("์„ธ์…˜ ์„ค์ • ์™„๋ฃŒ, ๋ฆฌ๋””๋ ‰์…˜ ์‹œ๋„")
221
  return redirect(url_for('index'))
222
  else:
223
+ logger.warning("๋กœ๊ทธ์ธ ์‹คํŒจ: ์•„์ด๋”” ๋˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜")
224
+ # ์–ด๋–ค ๋ถ€๋ถ„์ด ์ผ์น˜ํ•˜์ง€ ์•Š๋Š”์ง€ ์ƒ์„ธ ๋กœ๊น…
225
+ if username != valid_username:
226
+ logger.warning("์‚ฌ์šฉ์ž๋ช… ๋ถˆ์ผ์น˜")
227
+ if password != valid_password:
228
+ logger.warning("๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜")
229
  error = '์•„์ด๋”” ๋˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.'
230
+ else:
231
+ logger.info("๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ GET ์š”์ฒญ")
232
+ # ์„ธ์…˜ ์ƒํƒœ ํ™•์ธ
233
+ if 'logged_in' in session:
234
+ logger.info("์ด๋ฏธ ๋กœ๊ทธ์ธ๋œ ์‚ฌ์šฉ์ž, ๋ฉ”์ธ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋””๋ ‰์…˜")
235
+ return redirect(url_for('index'))
236
 
237
+ logger.info("---------- ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ Œ๋”๋ง ----------")
238
  return render_template('login.html', error=error)
239
 
240
  # ๋กœ๊ทธ์•„์›ƒ ๋ผ์šฐํŠธ
241
  @app.route('/logout')
242
  def logout():
243
+ logger.info("-------------- ๋กœ๊ทธ์•„์›ƒ ์š”์ฒญ --------------")
244
+ # ์„ธ์…˜ ์ •๋ณด ๋กœ๊น…
245
+ logger.info(f"ํ˜„์žฌ ์„ธ์…˜ ์ƒํƒœ: logged_in={session.get('logged_in', False)}, username={session.get('username', 'None')}")
246
+
247
+ if 'logged_in' in session:
248
+ logger.info(f"์‚ฌ์šฉ์ž {session.get('username', 'unknown')} ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ ์‹œ์ž‘")
249
+ # ์„ธ์…˜์—์„œ ์ •๋ณด ์‚ญ์ œ
250
+ session.pop('logged_in', None)
251
+ session.pop('username', None)
252
+ logger.info("์„ธ์…˜ ์ •๋ณด ์‚ญ์ œ ์™„๋ฃŒ")
253
+ else:
254
+ logger.warning("๋กœ๊ทธ์ธ๋˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๋กœ๊ทธ์•„์›ƒ ์‹œ๋„")
255
+
256
+ logger.info("๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋””๋ ‰์…˜")
257
  return redirect(url_for('login'))
258
 
259
  @app.route('/')