Поделиться через


Метод 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;
    }
}

См. также

Справочные материалы

LoginForms класс

Элементы LoginForms

Пространство имен WebSvcLoginForms