I'm quite new to Nancy and am now experimenting with Auth. Looking forward to fully implement Forms authentication.
For testing purposes, I have 3 modules set up.
Other module:
public class OtherModule : NancyModule
{
public OtherModule() : base()
{
// Use global, module level authentication.
this.RequiresAuthentication();
Get["/other"] = _ =>
{
return "Other";
};
Get["/woot"] = _ =>
{
return "Woot";
};
}
}
Main module:
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]";
};
}
}
Now, when I navigate to /other
and/or /woot
, I am redirected to /login
- as expected. Though, when I navigate to /yolo
, the application throws an Nancy.ErrorHandling.RouteExecutionEarlyExitException
, where I assumed it should redirect me to /login?returnUrl=seeme
.
I have walked through the github forms auth source, which features the behavior in this file. I cannot seem to find any major differences (my Bootstrapper, my IUserMapper, my IUserIdentity).
Is my use wrong here? Should I try/catch it and prepare responses accordingly? Is it a bug?
I'm running NancyFX in a self-hosted environment (Nancy.Hosting.Self
), no ASP and no OWIN.
False alert, false alert.
It was my Visual Studio debugger, who just reported about the exception.
Of course, as usual, I pushed "Break" and the app went down. Pressing "Continue" instead, did redirect me to the correct page.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With