2013-11-26 18 views
0
if (Request.QueryString["Username"] != null) 
    { 
     Login1.UserName =Request.QueryString["Username"]; 
     Login1.Password = Request.QueryString["Password"]; 
    if (FormsAuthentication.Authenticate(Login1.UserName, Login1.Password)) 
     { 
      FormsAuthentication.RedirectFromLoginPage(Login1.UserName, true); 

     } 

    } 
    else{ 

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

     } 
     } 

如何傳遞的查詢字符串密碼進入Login1.Password.I我使用FormsAuthentication梅索德爲login.But Login1.Password亙古不接受querystring.Is Login1值。密碼給類型錯誤?請幫助如何從查詢字符串傳遞價值asp.net登錄控制

+0

Login1.P類型是什麼密碼 –

+0

我也不知道Login1.But的類型,它給錯誤Password.Property或索引器System.Web.UI.WebControls.Login.Password不能分配給它是隻讀的。 –

+0

okk ...那麼它必須在Authenticate方法中作爲參數傳遞...檢查Damith答案 –

回答

1

你不需要登錄控制Authenticate,帶給用戶名和密碼作爲參數

string username= Request.QueryString["Username"]; 
string password = Request.QueryString["Password"]; 

if (FormsAuthentication.Authenticate(username, password)) 
{ 
    FormsAuthentication.RedirectFromLoginPage(username, true); 
} 

但發送密碼作爲查詢字符串,不建議,你最好讀How to safely include password in query string

1

你可以直接將查詢字符串參數傳遞給Forms Authentication Authenticate函數,如下所示

if (Request.QueryString["Username"] != null && Request.QueryString["Password"] != null) 
{ 

    if (FormsAuthentication.Authenticate(Request.QueryString["Username"].ToString(), Request.QueryString["Password"].ToString())) 
    { 
     // Authentication successful code 

     FormsAuthentication.RedirectFromLoginPage(Request.QueryString["Username"].ToString(), true); 
    } 
    else 
    { 
     // Authentication unsuccessful code 
    } 
} 
else 
{ 
    // Parameter invalid or missing code 
} 
相關問題