Bir flask uygulaması yapıyorum ve yalnızca kullanıcının kimliği doğrulanmışsa bazı statik dosyalara hizmet vermesini istiyorum. Bu çok düşük trafikli bir uygulamadır (sadece dahili kullanım içindir). Bunun için nasıl giderim? Düşünmekte olduğum bir şey, serve_static() kullanmak ve bunu bir kimlik doğrulama kontrolünün arkasına koymak ama şişenin içeriği zaten kullandığı statik dizini kullanmak.Sabit statik dosyaları flask ile
cevap
Basitçe flask.Flask
alt sınıf ve send_static_file
yöntemini geçersiz:
class SecuredStaticFlask(Flask):
def send_static_file(self, filename):
# Get user from session
if user.is_authenticated():
return super(SecuredStaticFlask, self).send_static_file(filename)
else:
abort(403)
# Or 401 (or 404), whatever is most appropriate for your situation
Ayrıca bkz the definition of send_static_file
ve
Tatlı, işe yarıyor! – marcog
Artık bu dosyada 857 satır yok gibi görünüyor. –
@JesseAldridge - Bağlantıyı, sabit bir taahhütte belirtilen noktaya sabitledim. Başların için teşekkürler! –
sadece * Belirli * statik dosyalar için otantik istediğiniz veya * Tüm * Statik için kimlik doğrulamasını ister misin musunuz aşağıdaki dosyalar (ve/veya tüm uygulama)? –
Tüm statik dosyalar. Uygulamada zaten bir kimlik doğrulaması var. Bu yüzden, uygulamanın mükemmel olması için etkin oturuma karşı kontrol edebilirsem. – marcog