我正在使用 revel 实现一个简单的拦截器,他的唯一责任是确保用户经过身份验证,如果没有,则重定向到身份验证页面。我有一些大意
func setUser(c *revel.Controller) revel.Result {
switch interface{}(c.Type).(type) {
case controllers.Auth:
return nil
}
return c.Redirect(controllers.Auth.Index)
}
从未遇到过类型案例controllers.Auth
,从而有效地导致了无限循环。我假设我缺少一些明显的东西,但是当我弄清楚如何通过 gdb 运行一个 revel 应用程序来尝试调试它时,我想我会在这里问。