MembershipUser user = Membership.GetUser();
string username = user.UserName;
string password = user.GetPassword();
Authentication auth = new Authentication();
auth.CookieContainer = new CookieContainer();
LoginResult result = auth.Login(username, password);
if (result.ErrorCode == LoginErrorCode.NoError)
{
CookieCollection cookies = auth.CookieContainer.GetCookies(new Uri(auth.Url));
Cookie authCookie = cookies[result.CookieName];
Lists lists = new Lists();
lists.CookieContainer = new CookieContainer();
lists.CookieContainer.Add(authCookie);
lists.GetListCollection();
}
但是,根據會員提供的設置(存儲的密碼以純文本,加密或散列?是通過安全的答案得到密碼?它需要)取回密碼可能會更加困難甚至不可能,您需要向用戶詢問。
謝謝Marek。我們需要從許多自定義aspx頁面訪問Web服務。 – noobDotNet
PasswordFormat是「哈希」,並且在web.config中將EnablePasswordRetrieval設置爲false。有沒有解決的辦法?謝謝。 – noobDotNet
@noobDotNet從安全的角度來看,對密碼進行散列是最好的選擇,但這也意味着您將無法從數據庫中檢索它們。「您可以使用單個專用帳戶來進行所有Web服務調用? –