Aqui está o que eu criei como uma solução para permitir que um usuário se vincule aos sistemas de autenticação pré-criados.
Cada uma das minhas áreas possui uma versão do arquivo _LoginPartial.cshtml.
Provavelmente eu poderia fazer com que o aplicativo usasse uma única versão do arquivo, no entanto, continuava com erros ao tentar usar um único login parcial.
É apenas uma ligeira modificação no componente de login original gerado, mas parece funcionar bem quando usado em áreas específicas.
Aqui está o código que é usado em todos eles:
@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>
}