2011-10-23 246 views
1

我有購物車Web應用程序。當我在我的本地機器上運行時,運行良好。但是,當我主持我的應用程序在網上我面臨的二期部署問題asp.net web應用程序

  1. 當我登錄,一段時間用戶自動signout並重定向到登錄頁面後使用我的應用程序。
  2. 有些不是隻顯示文本由DataList控件檢索和顯示的圖片是顯示

我使用的方法FormsAuthentication.RedirectFromLoginPage(用戶名,真實)的登錄用戶

我的網站config文件是

<?xml version="1.0"?> 

<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 

<configuration> 
    <connectionStrings> 
     <add name="shopingConnectionString1" connectionString="workstation id=shoppingpra.mssql.somee.com;packet size=4096;user id=pramuk98;pwd=kumarjha;data source=shoppingpra.mssql.somee.com;persist security info=False;initial catalog=shoppingpra" 
      providerName="System.Data.SqlClient" /> 


    </connectionStrings> 

    <system.web> 



     <compilation debug="true" targetFramework="4.0" /> 
     <authentication mode="Forms"> 
     <forms defaultUrl="default.aspx" loginUrl="login1.aspx" timeout="1000000" cookieless="AutoDetect" ></forms> 
     </authentication> 
     <authorization> 
     <deny users="?"/> 
     </authorization> 

    </system.web> 

</configuration> 

和登錄頁面的代碼我使用

User Name<br /> 
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
    ControlToValidate="TextBox1" ErrorMessage="fill usename "></asp:RequiredFieldValidator> 
<br /> 

Password<br /> 
    <asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox> 
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
    ControlToValidate="TextBox2" ErrorMessage="fill password"></asp:RequiredFieldValidator> 
<br /> 


<asp:ImageButton ID="ImageButton3" runat="server" AlternateText="sign in" 
    onclick="ImageButton3_Click" ImageUrl="~/img/str/buttons/sign in.bmp" /> 

     protected void ImageButton3_Click(object sender, ImageClickEventArgs e) 
     { 
      int flag = 0; 
      SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["shopingConnectionString1"].ConnectionString); 
      string s = "select * from login"; 
      SqlCommand com = new SqlCommand(s, con); 
      con.Open(); 
      if (con.State == ConnectionState.Open) 
      { 
       SqlDataReader dtr; 
       dtr = com.ExecuteReader(); 
       while (dtr.Read()) 
       { 
        if (dtr[0].ToString().Equals(TextBox1.Text) && dtr[1].ToString().Equals(TextBox2.Text)) 
        { 
         flag = 1; 

         Response.Cookies["uname"].Value = TextBox1.Text; 
         Response.Cookies["pwd"].Value = TextBox2.Text; 
         Response.Cookies["role"].Value = dtr[2].ToString(); 
         FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, false); 
        } 
        else 
        { 
         Label1.Text = "your credential are incorrect"; 
        } 


       } 
+0

你可以在web.config中的窗體身份驗證設置超時值。 – iandayman

+0

超時值不適用於我 –

回答

0

對於所有這一問題,我改變了超時大量的時間,並添加會話標記到web.config爲我不工作知道最後我明白身份驗證與Session無關。

所有的認證信息都存儲在認證cookie中,當用戶需要重新登錄時,表示認證憑證已過期。

的解決方案是非常簡單的,加一臺機器關鍵是你的web.config文件或使用這個在線工具 machine key

1

關於註銷問題,您是否使用會話來管理登錄狀態?如果是,請嘗試將會話生存期設置爲更高的值。

如果圖片沒有顯示,可能是路徑問題(絕對路徑)。右鍵單擊圖像並檢查嘗試從中獲取圖像的路徑。我希望你沒有把圖片存儲在數據庫中!你只有鏈接到圖片。對?

這是你如何可以在web.config中更改身份驗證超時:

<system.web> 
    <authentication mode="Forms"> 
      <forms timeout="1000000"/> 
    </authentication> 
</system.web> 

的時間以毫秒爲單位。

+0

不,我只是使用我寫FormsAuthentication.RedirectFromLoginPage(用戶名,真)的方法。其實我不知道如何管理按會話登錄的狀態。 –

+0

在這種情況下,設置表單認證超時並檢查它是否工作。 – r3st0r3

+0

我做了這個,但它不工作