Skip to content

Commit e5180b1

Browse files
committed
02260120
1 parent 9e76208 commit e5180b1

15 files changed

Lines changed: 895 additions & 0 deletions

‎backend/config/sql_server/base.py‎

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import os
2+
3+
from django.core.exceptions import ImproperlyConfigured
4+
from mssql.base import DatabaseWrapper as MssqlDatabaseWrapper
5+
6+
7+
class DatabaseWrapper(MssqlDatabaseWrapper):
8+
def get_new_connection(self, conn_params):
9+
domain = conn_params.get("DOMAIN", "")
10+
if not domain:
11+
return super().get_new_connection(conn_params)
12+
if os.name != "nt":
13+
raise ImproperlyConfigured(
14+
"DJANGO_DB_DOMAIN credentials require a Windows backend host."
15+
)
16+
if not conn_params.get("USER") or not conn_params.get("PASSWORD"):
17+
raise ImproperlyConfigured(
18+
"DJANGO_DB_DOMAIN requires DJANGO_DB_USER and DJANGO_DB_PASSWORD."
19+
)
20+
21+
import pywintypes
22+
import win32api
23+
import win32con
24+
import win32security
25+
26+
previous_token = None
27+
try:
28+
previous_token = win32security.OpenThreadToken(
29+
win32api.GetCurrentThread(),
30+
win32con.TOKEN_QUERY | win32con.TOKEN_IMPERSONATE,
31+
True,
32+
)
33+
except pywintypes.error as exc:
34+
if exc.winerror != 1008:
35+
raise
36+
37+
token = None
38+
impersonating = False
39+
try:
40+
token = win32security.LogonUser(
41+
conn_params["USER"],
42+
domain,
43+
conn_params["PASSWORD"],
44+
win32con.LOGON32_LOGON_NEW_CREDENTIALS,
45+
win32con.LOGON32_PROVIDER_WINNT50,
46+
)
47+
win32security.ImpersonateLoggedOnUser(token)
48+
impersonating = True
49+
trusted_params = dict(conn_params, USER="", PASSWORD="")
50+
return super().get_new_connection(trusted_params)
51+
finally:
52+
try:
53+
if impersonating:
54+
if previous_token is not None:
55+
win32security.SetThreadToken(None, previous_token)
56+
else:
57+
win32security.RevertToSelf()
58+
finally:
59+
if token is not None:
60+
token.Close()
61+
if previous_token is not None:
62+
previous_token.Close()
31.1 KB
Loading

‎frontend/dist.locked-old/assets/index-KMca1IuX.js‎

Lines changed: 752 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎frontend/dist.locked-old/assets/index-mNYdRogU.css‎

Lines changed: 59 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
5.07 MB
Loading
Lines changed: 4 additions & 0 deletions
Loading

‎frontend/dist.locked-old/index.html‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Workplace Migration Platform</title>
7+
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
8+
<link rel="stylesheet" href="https://assets.maerskline.com/mds/fonts/fonts-cdn.css">
9+
<link rel="stylesheet" href="https://assets.maerskline.com/mds/latest/design-tokens/maersk/light/css/design-tokens-px.min.css">
10+
<link rel="stylesheet" href="https://assets.maerskline.com/mds/latest/foundations/foundations.min.css">
11+
<script type="module" crossorigin src="/assets/index-KMca1IuX.js"></script>
12+
<link rel="stylesheet" crossorigin href="/assets/index-mNYdRogU.css">
13+
</head>
14+
<body>
15+
<div id="app"></div>
16+
</body>
17+
</html>
3.54 KB
Loading
1.72 MB
Loading
96.9 KB
Loading

0 commit comments

Comments
 (0)