如何在基于表单的身份验证中检查用户是否已登录

Rag*_*eer 10 c# asp.net forms-authentication asp.net-membership

我想在我的网站上手动实现基于表单的身份验证.

我正在使用Web.config文件进行数据存储

<authentication mode="Forms">
  <forms loginUrl="~/Login.aspx" 
         name=".ASPXAUTH"
         path="/"
         requireSSL="false"
         slidingExpiration="true"
         defaultUrl="~/Admin/OrderHistory.aspx"
         cookieless="UseDeviceProfile"
         enableCrossAppRedirects="false"
         >
    <credentials passwordFormat="Clear">
      <user name="Admin" password="adm123$"/>
      <user name="Administrator" password="adm234%"/>
    </credentials>
  </forms>
</authentication>
<authorization>
  <deny users ="?" />
  <allow users = "*" />
</authorization>
Run Code Online (Sandbox Code Playgroud)

Login.aspx在根目录中有一个页面使用ASP.NET登录控件来获取用户名和密码.

一切正常,但当用户logged in手动转到login.aspx页面时,它不会将用户重定向到defaultUrl页面.

我想将用户重定向到特定页面/ defaultUrl页面,如果他已登录并手动登录到login.aspx页面

怎么做?

登录按钮 - 单击

if (FormsAuthentication.Authenticate(LoginUser.UserName, LoginUser.Password))
    {
        FormsAuthentication.RedirectFromLoginPage(LoginUser.UserName, true);

    }
Run Code Online (Sandbox Code Playgroud)

Raa*_*aab 19

    if(HttpContext.Current.User.Identity.IsAuthenticated)
    {

    //Redirect to Default page
    Response.Redirect("default.aspx");
    }
Run Code Online (Sandbox Code Playgroud)