Ecco cosa mi è venuta in mente come soluzione per consentire a un utente di collegarsi ai sistemi di autenticazione predefiniti.
Ognuna delle mie aree ha una versione del file _LoginPartial.cshtml.
Probabilmente sono riuscito a far sì che l'applicazione usasse una singola versione del file, tuttavia continuavo a incorrere in errori quando provavo a utilizzare un singolo login parziale.
È solo una leggera modifica al loginpartial generato originale, ma sembra funzionare bene se usato in aree specifiche.
Ecco il codice che viene utilizzato in tutti loro:
@if (Request.IsAuthenticated)
{
<text>
Hello, @Html.ActionLink(User.Identity.Name, "Manage", "Account", new { area = "" }, htmlAttributes: new { @class = "username", title = "Manage" })!
@using (Html.BeginForm("LogOff", "Account", new { area = "" }, FormMethod.Post, new { id = "logoutForm" }))
{
@Html.AntiForgeryToken()
<a href="javascript:document.getElementById('logoutForm').submit()">Log off</a>
}
</text>
}
else
{
<ul>
<li>@Html.ActionLink("Register", "Register", "Account", new { area = "" }, htmlAttributes: new { id = "registerLink" })</li>
<li>@Html.ActionLink("Log in", "Login", "Account", new { area = "" }, htmlAttributes: new { id = "loginLink" })</li>
</ul>
}