在MVC 4项目中,当他正好登录时我已经从系统中删除了用户。现在他从SimpleMembershipProvider方法(或者来自会员/角色助手)获得用户不存在的例外。
然而,问题是,在登录时,他没有任何正常注销的可能性,而是获得错误页面,这不会让他使用该页面,直到auth cookie过时。如何拦截这种情况?看起来我无法在任何地方挂钩来处理这些异常。处理它的好方法是什么?答案 0 :(得分:1)
如果您正在使用基于角色的授权并在您的应用程序中正确设置授权,那么处理此问题的优雅方法是不删除用户,而是将他的角色带走,这样他就无法访问您不能访问的区域想要他。
另一种方法是通过将其自定义为described in this article来向UserProfile添加启用标志。然后,如果enabled为false,则customizing the Authorize attribute在授权过程中使用enabled标志将失败授权。您只需将启用标志翻转为false,而不是删除用户。