Windows身份验证使用Django和角?

问题描述 投票:0回答:3

我想实现单点登录采用了棱角分明,Django的,IIS服务器。

在IIS Windows身份验证功能。

角拦截代码:

intercept(req: HttpRequest<any>, next: HttpHandler):Observable<HttpEvent<any>> {   
 console.log("in intercept")   
 req = req.clone({  
 withCredentials: true });    
return next.handle(req);  }

Django的settings.py

MIDDLEWARE = [    
'django.middleware.security.SecurityMiddleware',    'django.contrib.sessions.middleware.SessionMiddleware',    'corsheaders.middleware.CorsMiddleware',    'django.middleware.common.CommonMiddleware',    'django.middleware.csrf.CsrfViewMiddleware',    'django.contrib.auth.middleware.AuthenticationMiddleware',    'django.contrib.auth.middleware.RemoteUserMiddleware',    'django.contrib.messages.middleware.MessageMiddleware',    'django.middleware.clickjacking.XFrameOptionsMiddleware',]

AUTHENTICATION_BACKENDS = (    'django.contrib.auth.backends.RemoteUserBackend',)

CORS_ORIGIN_ALLOW_ALL = True

ALLOWED_HOSTS = ["*"]

收到错误:(IP地址)已被封锁CORS政策:回应预检要求未通过访问控制检查:没有“访问控制允许来源”标头出现在所请求的资源。

django angular cors windows-authentication iis-8
3个回答
2
投票

尝试在settings.py这个配置

CORS_ORIGIN_ALLOW_ALL =真CORS_ALLOW_CREDENTIALS =真

CORS_ALLOW_CREDENTIALS =真#这一个是当您使用withCredentials要求:真


1
投票

将位于Django的设置问题,请看看这个链接:https://stackoverflow.com/a/38162454/4587598

如果在第一次尝试将无法正常工作,剥离从无到有所有settings.py和设置,如果不发生CORS问题,之后添加验证的复杂性首先检查。


0
投票

尝试django-cors-headers pip install django-cors-headers

并设置它在你settings.py

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)

您还需要添加一个中间件类来偷听的反应:

MIDDLEWARE = [  # Or MIDDLEWARE_CLASSES on Django < 1.10
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]

CorsMiddleware应放在尽可能高的,特别是可以产生如Django的CommonMiddleware回应任何中间件之前

CORS_ORIGIN_ALLOW_ALL = True
© www.soinside.com 2019 - 2024. All rights reserved.