想要做个页面绕过密码验证登录系统,但是系统做了Session验证,在路由阶段就自动跳到Login.aspx页了,又不能对login.aspx做什么修改(指不定谁会无聊F12看代码看js),所以就想着使用asmx作为初始页面(因为asmx不会在路由阶段跳转)
使用asmx有一个问题,保存Session。
asmx直接保存会报:只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 <system.web><httpModules> 节中包括 System.Web.SessionStateMod 或自定义会话状态模块。
更改配置文件是不可能的,这辈子都不会改配置文件的!
我们可以对方法添加 [WebMethod(EnableSession=true)] 修饰方法来保存
添加完之后发现还是不能用,这时可以实例化一个aspx页的类,然后添加Session
比如:
OALogin oal = new OALogin();
oal.Session["UserCode"] = uid;
oal.Session["UserName"] = arrUser[0]["UserName"].ToString();
oal.Session["LoginCode"] = arrUser[0]["LoginCode"].ToString();
最后跳转
System.Web.HttpContext.Current.Response.Redirect(“index.aspx”);