Olá a todos!
Então durante o desenvolvimento de web parts, application pages, workflows quase sempre precisamos trocar de usuário para testar permissões, visualizações, etc. Quando isso acontece você vai lá no seu nome de usuário no SharePoint, clica na seta e só existe a opção de logout….
.
Que triste…
Ai pesquisamos no Google e vemos que basta colocar a seguinte url “http://siteurl/_layouts/closeConnection.aspx?loginasanotheruser=true” que iremos conseguir trocar de usuário. Muito bom não é? Agora quero ver toda a sua alegria ao ter que trocar de usuário algumas dezenas de vezes durante o desenvolvimento….
Para isso eu desenvolvi uma pequena sandbox para podermos resolver este problema . O Código final pode ser encontrado para download aqui.
Vamos lá:
File > New > Project.
Selecione Templates > C# > Office/SharePoint > SharePoint Solutions > SharePoint 2013 – Empty Project.
Selecione o tipo de projeto como Sandbox:
Feito isso abra a Solution Explorer, expanda o projeto até a pasta Features, clique com o botão auxiliar e, em seguida, Add Feature:
Vamos trocar o nome da feature e colocar uma descrição legal:
Bom agora vamos adicionar um módulo em nosso projeto. Clique com o botão auxiliar no projeto e vá em Add > New Item:
Na tela que será apresentada procure por Module e dê o nome para este modulo:
No Xml que será apresentado substitua o seguinte trecho:
por:
O xml final irá ficar assim:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns=http://schemas.microsoft.com/sharepoint/>
<CustomAction
Id="ShpSandBoxTrocaDeUsuario"
Location="Microsoft.SharePoint.StandardMenu"
GroupId="PersonalActions"
Sequence="0"
Title="Trocar de Usuario"
ImageUrl="/_layouts/images/URL32.GIF">
<UrlAction Url="~site/_layouts/closeConnection.aspx?loginasanotheruser=true"/>
</CustomAction>
</Elements>
Bom agora só fazer o deploy e ver se funcionou….
Resultado:
E ao clicar:
Bom por hoje é só! Qualquer dúvida/sugestão comenta ai!
Referências:
-
CustomAction Element: https://msdn.microsoft.com/EN-US/library/office/ms460194.aspx
-
UrlAction Element: https://msdn.microsoft.com/EN-US/library/office/ms478271.aspx
-
Default Custom Action Locations and IDs: https://msdn.microsoft.com/EN-US/library/office/bb802730.aspx