То, что вы спрашиваете, не совсем похоже на авторизацию - по моему мнению, авторизованному пользователю (в данном случае не авторизованному пользователю) будет предоставлен ActionResult
(в данном случае представление), тогда как неавторизованному пользователю не. В том, что вы описываете, ActionResult
возвращается для всех пользователей; мы просто хотим отправить дополнительные html-файлы из вашей вкладки неаутентифицированным пользователям.
Вы можете просто проверить User.Identity.IsAuthenticated
или Request.IsAuthenticated
и, если не прошли проверку подлинности, выдать HTML-код для вкладки входа. Вы можете не помещать это в MVC UserControl
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%
if (!Request.IsAuthenticated) {
%>
<!-- html here for your sign in tab -->
<%
}
else {
%>
<!-- possibly want a sign out tab here for authenticated users? -->
<%
}
%>
Поместите пользовательский элемент управления в общую папку, а затем используйте в виде, подобном этому
<% Html.RenderPartial("Name of User Control"); %>