Правильно ли настроены эти HTML файлы для метода user.is_authenticated в Django
Я намерен иметь чрезвычайно конфиденциальную информацию на моем Django-сайте. Учитывая это, мне необходимо ограничить доступ только учетными записями пользователей.
Является ли это правильной конфигурацией для защиты моих HTML файлов и конфиденциальных данных от остального мира?
Структура файлов Django:
У меня также есть мои обычные HTML файлы на уровне шаблонов.
login.html:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login In</title>
</head>
<body>
<form method="POST" style="text-align:center;font-family:verdana;" >
{% csrf_token %}
{{ form }}
<button type="submit">Login</button>
</form>
</body>
</html>
base.html
<!DOCTYPE html>
<html lang="en">
<head>
{% load static %}
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<title>Search</title>
<link rel="stylesheet" type="text/css" href="{% static '/css/main.css' %}">
</head>
<body>
{% if user.is_authenticated %}
{% block content %}
{% endblock %}
{% else %}
<h1 style="text-align:center;">Login <a href="/login" style=";text-decoration:underline;">Here</a></h1>
{% endif %}
</body>
</html>
example.html
<!DOCTYPE html>
{% load static %}
{% extends "base.html" %}
{% if user.is_authenticated %}
{% block content %}
<html>
<head>
<title>Example</title>
</head>
<h1>Example!</h1>
<p class='text'>Hello World</p>
</html>
{% endblock %}
{% else %}
<p>Login <a href="/login">Here</a></p>
{% endif %}
Это правильный способ скрыть конфиденциальные данные от неавторизованных пользователей, и вы также можете использовать @login_required(login_url="<login-url>")
для защиты всей веб-страницы.
Вы также можете использовать user role
& user group
для более точного определения пользователей.
Редактирование: Это зависит от используемого продукта, как вы хотите показать свои конфиденциальные данные