Метод LoginForms.Login
Войдите в систему указанного пользователя с проверкой подлинности форм с помощью сервера Project Server.
Пространство имен: WebSvcLoginForms
Сборка: ProjectServerServices (в ProjectServerServices.dll)
Синтаксис
'Декларация
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/LoginForms/Login", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/LoginForms/", _
ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/LoginForms/", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function Login ( _
username As String, _
password As String _
) As Boolean
'Применение
Dim instance As LoginForms
Dim username As String
Dim password As String
Dim returnValue As Boolean
returnValue = instance.Login(username, _
password)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/LoginForms/Login", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/LoginForms/",
ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/LoginForms/",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public bool Login(
string username,
string password
)
Параметры
username
Тип: System.StringИмя пользователя Project Server.
password
Тип: System.StringПароль для пользователя сервера Project Server.
Возвращаемое значение
Тип: System.Boolean
Возвращает значение true для успешного входа в систему на сервере Project Server.
Замечания
После успешного входа в систему задайте свойство CookieContainer для сервера Project Server учетные данные пользователя для других объектов службы PSI веб в одном приложении.
Сведения о разработке приложений на основе ASMX в среде нескольких проверки подлинности (заявок - и формами) Необходимые условия для образцов кода на основе ASMX в Project 2013см.
Примеры
Следующий пример обрабатывает входе в метод LogonPS и метод LogoffPS выполняет выход из системы для проверки подлинности сервера Project Server.
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
namespace LoginDemo
{
class LoginUtils
{
const string LOGINWINDOWS = "_vti_bin/PSI/LoginWindows.asmx";
const string LOGINFORMS = "_vti_bin/PSI/LoginForms.asmx";
private static SvcLoginWindows.LoginWindows loginWindows =
new SvcLoginWindows.LoginWindows();
private static SvcLoginForms.LoginForms loginForms =
new SvcLoginForms.LoginForms();
private CookieContainer cookies = new CookieContainer();
private string baseUrl; // Example: https://ServerName/ProjectServer/
public LoginUtils()
{
}
public string BaseUrl
{
get
{
return baseUrl;
}
}
public CookieContainer Cookies
{
get
{
return loginForms.CookieContainer;
}
}
// Log on Project Server.
// Returns true for successful logon.
public bool LogonPS(bool useWinLogon, string bUrl,
string userName, string password)
{
bool logonSucceeded = false;
baseUrl = bUrl;
if (useWinLogon)
{
loginWindows.Url = baseUrl + LOGINWINDOWS;
loginWindows.Credentials = CredentialCache.DefaultCredentials;
if (loginWindows.Login()) logonSucceeded = true;
}
else // Use LoginForms
{
loginForms.Url = baseUrl + LOGINFORMS;
loginForms.CookieContainer = cookies;
if (loginForms.Login(userName, password)) logonSucceeded = true;
}
return logonSucceeded;
}
// Log off Project Server.
// Returns true for successful logoff.
public bool LogoffPS(bool useWinLogon)
{
bool loggedOff = true;
if (useWinLogon)
{
loginWindows.Logoff();
}
else
{
loginForms.Logoff();
}
return loggedOff;
}
}
}
Следующий код создает экземпляр и использует класс LoginUtils . Объект project приведен пример, который показывает, как добавить пользовательский контекст PSI веб-службы.
private bool windowsAuth = false; // Use Project Server authentication
private string baseUrl; // Example: https://ServerName/ProjectServerName/
private const string PROJECTWEBSERVICE = "_vti_bin/PSI/Project.asmx";
private static LoginUtils loginUtils = new LoginUtils();
public static SvcProject.Project project =
new SvcProject.Project();
. . .
// Add the URL, and the user credentials or logon cookie to each PSI Web service object.
public void AddContextInfo(string baseUrl)
{
// Add the Url property first.
project.Url = baseUrl + PROJECTWEBSERVICE;
if (windowsAuth) // Add Windows credentials
{
project.Credentials = CredentialCache.DefaultCredentials;
}
else // Add Project Server logon cookie
{
project.CookieContainer = loginUtils.Cookies;
}
}