为啥有些文件拒绝访问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥有些文件拒绝访问相关的知识,希望对你有一定的参考价值。
当我以超级管理员身份登陆系统试图打开一些文件时却提示:某某文件拒绝访问。请问这是为什么?我该怎样解决这个问题?
这种情况下就需要让管理员取得文件夹的所有权了。方法是这样的:在禁用简单文件共享的情况下,在无法打开的文件夹上点击鼠标右键,选择属性,然后在属性窗口打开“安全”选项卡。这时会出现一个警告窗口,不用理会,点击确定关闭。在安全选项卡上点击“高级”按钮,打开高级属性设置窗口,接着打开“所有者”选项卡。在所有者选项卡上重新选择一个当前的用户为新的所有人,然后选中下方的“替换子容器对象….”并点击确定。稍等片刻,待该文件夹和所有字文件夹的所有权都获得以后就可以按照平常的方法访问该文件夹或者重新给不同用户指定不同的权限。 参考技术A 一般情况文件被另一个程序使用时,另一个用户或程序就不能再访问它,这叫共享冲突。 还有一种就是权限不够,磁盘文件系统出现问题,这时也是不可以访问该文件的。Django Rest:为啥访问被拒绝,尽管 AccessAny 被设置为权限?
【中文标题】Django Rest:为啥访问被拒绝,尽管 AccessAny 被设置为权限?【英文标题】:Django Rest: Why is the access denied, although AccessAny is set as permission?Django Rest:为什么访问被拒绝,尽管 AccessAny 被设置为权限? 【发布时间】:2021-10-02 19:10:23 【问题描述】:我想向所有人授予对我的 API 没有任何权限的访问权限。我在文件中做了以下定义:
views.py
from rest_framework.views import APIView
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework.parsers import JSONParser
from rest_framework.permissions import AllowAny
from django.http import HttpResponse, JsonResponse
from rest_framework import status
from api.models import Application, Indice, Satellite, Band
from api.serializers import OsdSerializer
import logging
logger = logging.getLogger(__name__)
class OsdView(APIView):
permission_classes = [AllowAny]
def get(self, request):
applications = Application.objects.all()
serializer = OsdSerializer(applications, many=True)
return Response("Applications:": serializer.data)
class DetailView(APIView):
permission_classes = [AllowAny]
def get(self, request, machine_name):
application = Application.objects.get(machine_name=machine_name)
downloads = OsdSerializer(application, context="date_from": request.query_params.get("from", None), "date_to": request.query_params.get("to", None), "location": request.query_params.get("location", None), )
return Response(downloads.data)
settings.py
REST_FRAMEWORK =
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.AllowAny',
]
但是当我访问 API 时,结果如下而不是内容:
"detail":"Invalid username/password."
【问题讨论】:
这是因为身份验证而不是权限。看看你的身份验证是否正确 【参考方案1】:您还必须添加身份验证:
REST_FRAMEWORK =
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.AllowAny',
],
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
],
这就是您收到错误的原因;不用担心,即使没有(至少是 GET!)登录,任何人都会看到您的 API 数据。
【讨论】:
谢谢,不知道权限和身份验证类之间有区别。您的评论很有帮助?以上是关于为啥有些文件拒绝访问的主要内容,如果未能解决你的问题,请参考以下文章