我发现在用户的身份验证票证到期时我们的应用程序中存在错误。
控制器使用Authorize属性进行修饰,但我们在控制器的构造函数中对变量进行了一些初始化,这些变量依赖于正在进行身份验证的用户。
那么,如果用户未经过身份验证(并因此将重定向到登录页面),那么最好将这个初始化代码移动到哪里以便不执行? OnAuthorization?
答案 0 :(得分:1)
那么将初始化代码移动到的最佳位置是哪里 如果用户未经过身份验证,则不会执行
您可以编写自定义AuthorizeAttribute
并在AuthorizeCore
方法中执行它(在调用基本方法并确保它返回true
之后)。
另一种可能性是将自定义模型绑定器写入某个模型,该模型将初始化它,然后您的控制器操作可以将此模型作为参数。