10

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

我正在使用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>

Login.aspx我使用 ASP.NET 登录控件获取用户名和密码的根级别有一个页面。

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

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

怎么做?

登录按钮-点击

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

    }
4

4 回答 4

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

    //Redirect to Default page
    Response.Redirect("default.aspx");
    }
于 2012-05-28T06:40:22.087 回答
0

我通常为此使用会话策略。

如果建立了会话,则将用户重定向到特定页面,或者引导他登录。

您可以在此处参考更多信息http://asp.net-tutorials.com/state/sessions/

于 2012-05-28T06:39:31.477 回答
0

在 web.config 文件中使用表单属性 defaulturl="xyz.aspx"(你的 URL)

于 2015-06-14T04:42:49.060 回答
0
 protected void Page_Load(object sender, EventArgs e)
    {  
        if (!Request.UrlReferrer.Equals("http://localhost:1360/login_page.aspx"))
        {
            Response.Redirect("ERROR ==>? 404");
        }
    }
于 2018-07-30T13:38:28.517 回答