0

我想要求所有用户在进入网站的任何需要身份验证的部分之前填写一些额外的信息。

如果可能的话,我想了解[Authorize]注释,但忽略任何@User.IsInRole("something")

有没有我可以覆盖的方法Global.asaxor ?

我只希望获取注释,因为我唯一的用途.IsInRole()是向他们显示不同的信息,并且我想要那里的链接,以便他们真正看到获取注释所需的内容。希望这是有道理的(有点累)。

4

1 回答 1

0

您可以覆盖AuthorizeAttribute自身;这将使您可以访问在调用OnActionExecuting()标记为的操作时触发的方法[Authorize]。从那里您可以添加自己的身份验证逻辑或调用基本方法,然后在需要填写额外数据时重定向到适当的错误或表单。您应该能够将其原始请求作为返回 URL 查询参数,以便用户可以在处理完额外数据后继续前往他们要去的任何地方。然后你需要[Authorize]用这个自定义属性替换所有的使用,但是 find 和 replace 应该会处理这个问题。

于 2013-04-25T09:41:51.537 回答