我对Nancy还是很陌生,现在正在尝试Auth。期待全面实现Forms身份验证。
为了进行测试,我设置了3个模块。
其他模块:
public class OtherModule : NancyModule
{
public OtherModule() : base()
{
// Use global, module level authentication.
this.RequiresAuthentication();
Get["/other"] = _ =>
{
return "Other";
};
Get["/woot"] = _ =>
{
return "Woot";
};
}
}
主模块:
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]";
};
}
}
现在,当我导航到
/other
和/或/woot
时,正如预期的那样,我被重定向到/login
。但是,当我导航到/yolo
时,该应用程序将抛出Nancy.ErrorHandling.RouteExecutionEarlyExitException
,我以为它应该将我重定向到/login?returnUrl=seeme
。我已经遍历了the github forms auth source,它具有this file中的行为。我似乎找不到任何主要差异(Bootstrapper,IUserMapper,IUserIdentity)。
我在这里使用错了吗?我应该尝试/捕捉它并相应地准备响应吗?是 bug 吗?
我在自托管环境(
Nancy.Hosting.Self
)中运行NancyFX,没有ASP也没有OWIN。 最佳答案
错误警报,错误警报。
是我的Visual Studio调试器,刚刚报告了该异常。
当然,像往常一样,我按下了“Break”,应用程序崩溃了。按“继续”代替,确实将我重定向到正确的页面。
关于c# - 每路由身份验证导致RouteExecutionEarlyExitException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24556145/