Как получить доступ к учетным данным в веб-службе, которые пользователь установил при вызове веб-службы? - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть веб-сервис, например,

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class SI_C : System.Web.Services.WebService {

public SI_C()
{

    //Uncomment the following line if using designed components 
    //InitializeComponent(); 
}

[Webmethod]

public bool CreateRecord(classname objname) //some class I am setting the data to
{
   //Creates a record.
}
}

Теперь, потребляя на стороне клиента, я создал

 SI_C_In_SoapClient client = new SI_C_In_SoapClient("SI_C");
 client.ClientCredentials.UserName.UserName = "Username Sent";
 client.ClientCredentials.UserName.Password = "Passport Sent";

Теперь я хочу получить доступ к этому отправленному паролю и имени пользователя в моем веб-сервисе.Как мне это сделать?

Обновление:

  1. Установить пароль и имя пользователя на стороне клиента с помощью вызова сетевых учетных данных
  2. Получить это в веб-службе
  3. Отправить в базу данных и проверить, хорошо ли?Вот и все.

1 Ответ

1 голос
/ 26 сентября 2019

Это в основном зависит от того, как вы настроили приложение веб-сервера.При использовании IIS ответ на этот вопрос полностью зависит от того, как вы настроили безопасность.

Просмотрите HttpContext.Current.User или CredentialCache.DefaultNetworkCredentials, вот ссылка:

Соответственно:

Как HttpContext.Current.User.Identity.Name узнает, какие имена пользователей существуют?

https://docs.microsoft.com/en-us/dotnet/api/system.net.credentialcache.defaultnetworkcredentials?redirectedfrom=MSDN&view=netframework-4.8#System_Net_CredentialCache_DefaultNetworkCredentials

...