2011-11-18 3 views
1

웹 응용 프로그램 (VS2008 C# ASP.NET 3.5 Framework)이 있습니다. 로그인 페이지에 로그인 기능을 수행하는 CheckLogin() 함수가 있습니다. 원격 웹 서비스를 사용했습니다. objWeb은 해당 웹 서비스의 객체입니다. WebService_CheckLogin은 원격 웹 서비스의 웹 메소드입니다. 데이터베이스 연결 문자열은 websrvice의 클래스 파일에 기록됩니다. 내 웹 서비스에서Webservice 보안을 확인하는 방법은 무엇입니까?

public DataSet CheckLogin() 
    { 
     string username = Convert.ToString(txtUname.Text); 
     string password = Convert.ToString(txtPassword.Text); 
     return objWEB.WebService_CheckLogin(username,password); 

    } 

WEBMETHOD는 웹 서비스

public void connect() 
    { 
     if (con.State == ConnectionState.Open) 
     { 
      con.Close(); 

     } 
     con.ConnectionString="Data Source=xxxxxxx;Initial Catalog=xx;User ID=xx;Password=xxxx"; 

     con.Open(); 
    } 

내 질문에 내 연결 클래스는 '보안에 따라 아무 잘못인가'고

[WebMethod] 
    public DataSet WebService_CheckLogin(string uname,string pswd) 
     { 
      c.connect(); 
      DataSet ds = new DataSet(); 
      SqlCommand cmd = new SqlCommand("sp_verifyuser", c.con); 
      cmd.CommandType = CommandType.StoredProcedure; 
      cmd.Parameters.AddWithValue("@Username", uname); 
      cmd.Parameters.AddWithValue("@Password", pswd); 
      c.getdataset(cmd, ref ds); 
      return ds; 
     } 

입니다

? 내 말은 '누구나 내 webservice에 URL을 허용 할 수 있습니까?' 나는 그것은 모두 당신이 당신의 웹 메쏘드를 보호하는 방법에 따라 달라

string profilePassword = objWEB.Verify_ProilePassword("exec sp_verify_profilepwd '" + txt_profil_pwd.Text + "','"+cid+"'"); 

감사합니다, 데이비드

답변

2

같은 매개 변수로 문자열을 통과하는 많은 다른 webMethods의가 있습니다. 위의 코드는 사용자가 유효한 사용자 이름/암호 조합을 가지고 있는지 확인하지만 거기에서 수행중인 작업을 알기는 어렵습니다. 당신이의 WebMethod에 대한 authenticated a user 및 EnableSession을 한 후

은 당신이 뭔가를 할 수 있습니다 :

[WebMethod(EnableSession = true)] 
public static string HelloWorld(){ 
if (User.Identity.IsAuthenticated) 
{ 
    return "Hello " + HttpContext.Current.Request.User.Identity.Name; 
} 
else 
{ 
    return "I don't talk to strangers"; 
} 
} 

어떤 질문을 게시하시기 바랍니다.

또한 - 당신이 저장 프로 시저 당신의 sp_verifyuser에주의하지 않으면 이런 전화가 재앙으로 이어질 수 :) 어떻게 (내 CheckLogin을해야합니다 ...

WebService_CheckLogin("*","*") 
+0

@Greg? –

관련 문제