阻止未经授权的用户在地址栏中写入网址后重定向到页面

发布于 2024-12-16 02:18:37 字数 125 浏览 0 评论 0原文

每当用户单击注销按钮时,他都会被重定向到登录页面,然后他无法通过单击后退按钮返回......但如果他知道任何页面的网址,甚至是未经授权的页面。他就能够访问该页面......我需要所做的是他无法通过输入网址访问任何页面..Plz help

Whenever the user clicks logout button he is redirected to login page then he cannot go back by clicking back button.... but if he knows the url of any page even unauthorized page.he is able to access that page..I need to do is that he cannot access any page by typing urls..Plz help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

指尖上的星空 2024-12-23 02:18:37

You need to configure your web-app with Form authentication. Other alternatives are to use Session or Cookies.

遗弃M 2024-12-23 02:18:37

您可以在登录页面放置一个会话变量,仅当用户仅通过登录页面进入任何页面时才插入一些值。并在每个页面加载中检查该会话值,如果该值不匹配,则再次重定向到登录页面。

You can put one session variable at the login page, insert some value only when the user gets to any page only via login page. And check for that session value in every page load, if the value not matches redirect to login page again.

扛起拖把扫天下 2024-12-23 02:18:37

使用 page_load: ... 中的会话变量

protected void Page_Load(object sender, EventArgs e)
{
    Session["loggedin"] = "false";
}

并检查登录事件。如果用户已按下登录按钮,则将会话变量设置为“true”。

protected void btnOK_Click(object sender, EventArgs e)
{
    Session["loggedin"] = "true";
    ......
   ......
}

当页面重定向到另一个页面时检查会话变量的状态
在页面加载事件中。

    try
    {

        if (Session["loggedin"].ToString() == "false")
        {
            Response.Write("<script> alert('Session Expires! please login first'); </script>");

            Response.Redirect("login.aspx");
            return;
        }

    }
    catch (Exception er)
    {
        Response.Redirect("login.aspx");
    }

Use the session variable in the page_load:

protected void Page_Load(object sender, EventArgs e)
{
    Session["loggedin"] = "false";
}

... and check the login event. If user has pressed the login button then set the session variable "true".

protected void btnOK_Click(object sender, EventArgs e)
{
    Session["loggedin"] = "true";
    ......
   ......
}

When the page is redirected to another page then check the status of the session variable
in page load event.

    try
    {

        if (Session["loggedin"].ToString() == "false")
        {
            Response.Write("<script> alert('Session Expires! please login first'); </script>");

            Response.Redirect("login.aspx");
            return;
        }

    }
    catch (Exception er)
    {
        Response.Redirect("login.aspx");
    }
寄意 2024-12-23 02:18:37

先生,请在Web.config中写入代码,

<system.web>
    <authentication mode="Forms">
       <forms loginUrl="Login.aspx"
             protection="All"
             timeout="30"
             name=".ASPXAUTH"
             path="/"
             requireSSL="false"
             slidingExpiration="true"
             defaultUrl="default.aspx"
             cookieless="UseDeviceProfile"
             enableCrossAppRedirects="false" />
     </authentication>

     <authorization>
             <deny users="?" />
     </authorization>
</system.web>

此代码将阻止在未登录的情况下在地址栏中输入网址。

Sir please write the code in Web.config

<system.web>
    <authentication mode="Forms">
       <forms loginUrl="Login.aspx"
             protection="All"
             timeout="30"
             name=".ASPXAUTH"
             path="/"
             requireSSL="false"
             slidingExpiration="true"
             defaultUrl="default.aspx"
             cookieless="UseDeviceProfile"
             enableCrossAppRedirects="false" />
     </authentication>

     <authorization>
             <deny users="?" />
     </authorization>
</system.web>

This code will prevent entering url in address bar without login.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文