Pergunta

Ok, aqui está a minha situação:Eu tenho um ASP.NET web forms aplicativo que está instalado e em execução no meu SP 2013 site do IIS.SP está configurado para usar autenticação do Windows.Eu sei que isto é muito incomum e não é recomendado, mas agora eu tenho que ir por este caminho.i.e.Eu não tenho tempo para converter este e vários outros ASP.Net aplicativos para SP apps.O que eu estou tentando fazer é obter o usuário que está conectado em SP e utilizar essa informação para autenticar a minha ASP.Net aplicação - e também não solicitará autenticação no ASP.NET.Eu acho que da natureza .net app em execução no IIS mesmo como SP 2013 ele não vai pedir auth creds uma 2ª vez., mas como obter informações de usuário do token?

Eu tenho um código como

Dim strEmailAddress As String = HttpContext.Current.User.Identity.Name.ToLower

no meu ASP.Net (VB.NET e o que ele retorna é:0#.w|smg\myuser

e assim como eu a entendo SP está usando a autenticação baseada em declarações, e este é um pedido de token.A minha pergunta é como analisar/aceitar este token para obter o nome de utilizador, em seguida, usá-lo no meu ASP.NET?

Alguém em outro lugar na net tem mostrado a seguir como uma solução, mas eu acho que o meu aplicativo não pode usar o Microsoft.SharePoint.Administração.Declarações de espaço de nomes.É como simples como isso?

string userName = null;
SPClaimProviderManager mgr = SPClaimProviderManager.Local;
if (mgr != null)
{
    userName = mgr.DecodeClaim(SPContext.Current.Web.CurrentUser.LoginName).Value;
}

Como eu a entendo SPClaimProviderManager é na Microsoft.SharePoint.Administração.Declarações de espaço de nomes, mas como faço para conseguir que referenciado na minha ASP.NET.Posso até achar que a dll no SP 2013 server.

Foi útil?

Solução 2

Eu era capaz de chegar a este trabalho, utilizando a abordagem acima delineados na minha pergunta, - eu era capaz de copiar Microsoft.Sharepoint montagem de servidor e fazer referência a ele no meu ASP.NET projeto.A Microsoft.SharePoint.Administração.Declarações de espaço de nomes é encontrado no Microsoft.Sharepoint assembleia

Outras dicas

A chave é ter o SharePoint e o seu aplicativo usar a mesma fonte de autenticação.

Assim, seu aplicativo deve alterar a Autenticação do Windows (também conhecido como NTLM Integrada), ou o SharePoint deve usar formulários (ou de créditos que é baseado no mesmo arquivo de utilizador).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top