关于登陆后台的returnurl。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于登陆后台的returnurl。相关的知识,希望对你有一定的参考价值。
这个:Request.QueryString["returnUrl"]这句话是登陆的后台,我想知道这个returnurl 是从哪里产生的。我随便运行一个页面没有登陆都会跳到登陆页面去,登陆页面就得到了这个returnurl,这个returnurl是怎么发过去的或者说怎么产生的? 登陆页面继承一个PageBase,里面也没相关的东西,还望指点。
.net 方向的问题啊,怎么木人看?.net.net.net C#C#
比如某个页面http://zhidao.baidu.com/question/376171780.html?quesup2oldq=1,则Request.QueryString["quesup2oldq"]="1",此页面只有一个参数quesup2oldq,如果有多个参数,用&分开。
returnurl不是登陆页面的值,是你跳到登陆页面前的页面传过来的值,且此参数记录下来刚刚浏览的页面地址,等用户登录成功后,再跳到此参数记录的地址,即回到刚刚浏览的页面。
你若要找到returnurl是怎么产生的,你可以到浏览的页面(非登录页面)代码中去找(逻辑:如果没有登录,则跳到登录页面,并传过去当前页面地址,方便登录成功后,回到当前页),应该能找到类似语句:Response.Redirect(...Login.asp?returnurl=...),returnurl即为当前页面地址参数,...Login.asp为登录页面,可能不是这个名字哦,呵呵。
若还有疑问,请Hi我。 参考技术A returnUrl是form验证的产物,不想要它就用过滤器,别用form验证就没了
<authentication mode="Forms">去掉,类似于这样:
namespace site.filter
public class authorization : AuthorizeAttribute
protected override bool AuthorizeCore(HttpContextBase httpContext)
HttpContext ct = C.C.hc();
bool rv =false,
login = ct.User.Identity.IsAuthenticated,
authority = true;
if (login && authority)
rv = true;
else
ct.Response.Redirect("~/login");
ct.Session.Add("rv", rv);
return rv;
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
base.HandleUnauthorizedRequest(filterContext);
protected override HttpValidationStatus OnCacheAuthorization(HttpContextBase httpContext)
return base.OnCacheAuthorization(httpContext);
参考技术B .
以上是关于关于登陆后台的returnurl。的主要内容,如果未能解决你的问题,请参考以下文章