如何解决问题 网址问题,请问如何解决

来源:互联网  时间:2016/8/12 22:59:43

关于网友提出的“如何解决问题 网址问题,请问如何解决”问题疑问,本网通过在网上对“如何解决问题 网址问题,请问如何解决”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:如何解决问题 网址问题,请问如何解决
描述:

做了一个网站,网站的后台管理页面有很多,例如admin.aspx是后台的登陆页面,等进入以后后面有1 2 3 3个页面,
现在发现一个问题,就是 一个没有权限的人知道后台管理页面的地址,直接在地址栏中输入也可以访问,请问怎么弄,必须让他通过admin.aspx这个页面才可以访问到后3个,直接输入已知的网址访问 让他现实不出来或者报错。


解决方案1:

session控制。

解决方案2:

熟的话後台管理自己写一个权限控制模块,
不熟的话用“窗体身份验证”
修改web.config

        <>
               loginUrl="login.aspx" 
               timeout="30" path="path">
          
        
        

解决方案3:

权限的问题,建议楼主的页面都继承一个页面基类,在基类里面对登陆人进行检测,如果是错误,跳转到错误页面

解决方案4:

最好采用“窗体身份验证”

解决方案5:

这是我自己写的验证 给你参考下
 

if (!Page.IsPostBack)
        {
            if (Session["userid"] != null || Session["username"] != null)
            {//获取登陆页面的值,如果不为空,防止直接从IE地址栏访问该页
                string roleid=Session["roleid"].ToString();//获取登陆帐号的角色ID
                string rolename = string.Empty;//声明rolename用来存储角色名
                string strUserName = Session["username"].ToString();//读取登陆页面的用户名       
                //int userid = Users.GetUesrIdByUserName(strUserName);
                int userid = Convert.ToInt32(Session["userid"]);//读取登陆页面的用户ID
                if (Users.ValidateUserLogin(userid, strUserName))//调用验证方法再次验证用户登陆输入的信息是否正确
                {
                    if (roleid == "1")//如果用户登陆输入的信息都正确,那么就判断用户的角色ID,如果是1就表明是超级管理员
                    {
                        lblShowMessage.Visible = true;
                        rolename = Users.GetRoleNameByRoleID(Convert.ToInt32(roleid));//通过角色ID来获取角色名
                        lblShowMessage.Text = string.Format("{1}|{2}", userid, strUserName, rolename);
                       
                       
                    }
                    else
                    {//如果不是超级管理员,就转到相关页面
                        lblShowMessage.Visible = true;
                        rolename = Users.GetRoleNameByRoleID(Convert.ToInt32(roleid));
                        lblShowMessage.Text = string.Format("{1}|{2}", userid, strUserName, rolename);
                        
                    }
                }
                else
                {//如果验证没有通过,就转到登陆页面
                    Response.Redirect("Adminlogin.aspx");
                }
            }
            else
            {//如果获取不到Session的值,就转到登陆页面
                Response.Redirect("AdminLogin.aspx");
            }
        }
        
    }

解决方案6:

在 page_load 的时候判断是否有权限,没有
可以
导向另外一页
Response.Redirect("default.aspx");
结束输出
        Response.End();

上一篇我想学复杂业务,案例,源代码,开源的都行,理论介绍也行net求大虾指引明路
下一篇为什么文件名变乱码啊,我设置了GB2312啊
明星图片
相关文章
《如何解决问题 网址问题,请问如何解决》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)