django 身份验证与鉴权
在Django中,身份验证指的是确认用户是他们声称的身份,而鉴权指的是确认用户是否有权限执行某个操作。Django提供了一系列工具来帮助我们实现这两个过程。
以下是一个简单的例子,展示了如何在Django中使用内置的身份验证视图来处理用户登录和注销:
urls.py:
from django.urls import path
from django.contrib.auth import views as auth_views
urlpatterns = [
path('login/', auth_views.LoginView.as_view(template_name='login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(next_page='/'), name='logout'),
]
login.html (放在你的模板目录下):
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Log in</button>
</form>
在视图中鉴权用户:
from django.contrib.auth.decorators import login_required
from django.shortcuts import render
@login_required
def my_view(request):
# 这里的代码只会在用户登录后运行
...
使用Django的内置用户模型和认证系统通常能够满足大部分需求。对于更复杂的安全需求,你可能需要自定义认证后端或使用第三方库。
评论已关闭