为了防止用户直接在地址栏中输入网址 到达对应页面 我做了如下处理
在 pageload 里判断是否有session["userID"] 如果=null 跳转登陆页面但是有个问题 如果已经登陆 直接复制url 到地址栏 就可以直接访问 相应页面 绕开了权限控制我现在的想法是 判断地址栏的url 是否含有? 如果有跳转登陆 我地址栏的url始终是index.aspx我现在找的方法 都是取请求的url (Request.RawUrl) 这方法取到的是真实的请求url 我想知道取地址栏的url 怎么取还有我想问大家是怎么解决用户在地址栏中直接输入网址 我这样做 对吗?
在 pageload 里判断是否有session["userID"] 如果=null 跳转登陆页面但是有个问题 如果已经登陆 直接复制url 到地址栏 就可以直接访问 相应页面 绕开了权限控制我现在的想法是 判断地址栏的url 是否含有? 如果有跳转登陆 我地址栏的url始终是index.aspx我现在找的方法 都是取请求的url (Request.RawUrl) 这方法取到的是真实的请求url 我想知道取地址栏的url 怎么取还有我想问大家是怎么解决用户在地址栏中直接输入网址 我这样做 对吗?
参考forms验证
if (user != null && user.UserRole.Id != 3 || user == null)
Response.Redirect("~/Admin/AdminLogin.aspx");这样是可以的啊!
你可以在url地址中加入随机数?rand=xxxx
关于这个随机数是你怎么得到的.就只有你知道了.可以按照权限.
比如有些页面的xxxx能被3整除什么的来判断.
这个办法笨了一点,但是绝对的有效