我正在检查用户是否已在global.asax中获得授权(如果为true),然后重定向到某些路由
if (false)
{
HttpContext.Current.Response.RedirectToRoute("Login");
}
它抛出异常:
在这种情况下没有响应
我认为这将是一个更好的解决方案,以使用的认证标记的web.config
。
// or loginUrl="~/Account/LogOn" for example in an MVC application
<authentication mode="Windows">
<forms
name=".ASPXAUTH"
loginUrl="login.aspx"
defaultUrl="default.aspx"
protection="All"
timeout="30"
path="/"
requireSSL="false"
slidingExpiration="true"
cookieless="UseDeviceProfile" domain=""
enableCrossAppRedirects="false">
<credentials passwordFormat="SHA1" />
</forms>
<passport redirectUrl="internal" />
</authentication>
您可以定义一个loginUrl,如果用户尝试访问需要身份验证的资源,将在其中重定向用户。
更新
根据您给的评论,我认为您可能正在寻找基于授权的路由。在这个SO Question MVC基于角色的路由中,已经有一个答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句