Şimdi oldukça yeni Nancy ve şimdi Auth ile deneme yapıyorum. Form kimlik doğrulamasını tamamen uygulamak için sabırsızlanıyorum.Her yol için kimlik doğrulaması neden oluyor RouteExecutionEarlyExitException
Test amacıyla, 3 modülüm var.
Diğer modülü:
public class OtherModule : NancyModule
{
public OtherModule() : base()
{
// Use global, module level authentication.
this.RequiresAuthentication();
Get["/other"] = _ =>
{
return "Other";
};
Get["/woot"] = _ =>
{
return "Woot";
};
}
}
Ana modülü:
public class MainModule : NancyModule
{
public MainModule() : base()
{
Get["/yolo"] = _ =>
{
// Use per-route authentication.
this.RequiresAuthentication();
return "#YOLO";
};
}
}
AuthModule:
public class AuthModule : NancyModule
{
public AuthModule() : base()
{
Get["/login"] = _ =>
{
return "To proceed, you must authenticate. [show form]";
};
}
}
Şimdi, whe n /other
ve/veya /woot
'a gidiyorum, beklediğim gibi /login
'a yönlendirildim. Yine de, /yolo
'a gittiğimde, uygulama beni /login?returnUrl=seeme
adresine yönlendirmesi gerektiğini düşündüğüm bir Nancy.ErrorHandling.RouteExecutionEarlyExitException
atar.
this file'daki davranışı içeren the github forms auth source üzerinden yürüdüm. Büyük farklar bulamıyorum (benim Bootstrapper, benim IUserMapper, benim IUserIdentity).
Kullanımım yanlış mı? Onu yakalamaya/yakalamaya ve buna göre cevaplar vermeye mi çalışmalıyım? Bu bir hata mı?
NancyFX'i kendi kendini barındırılan bir ortamda (Nancy.Hosting.Self
) çalıştırıyorum, ASP yok ve OWIN yok.
Ayrıca, Visual Studio Özel Durum ayarlarını açıp "Ekle ..." düğmesine basabilir, "Ortak Dil Çalışma Zamanı" nı seçebilir ve "Nancy.ErrorHandling.RouteExecutionEarlyExitException" yazabilirsiniz. Ardından iki onay kutusunu işaretlemeniz gerekir. Visual Studio artık bu özel durumu dikkate almaz. – Auresco82