我试图弄清楚如何只授权未经身份验证的用户。我的站点地图中显示了一个登录选项卡,我只希望它在用户尚未登录时显示。
问问题
751 次
1 回答
4
您的要求听起来不像授权 - 在我看来,授权用户(在这种情况下是未经身份验证的用户)将被提供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"); %>
于 2010-05-07T20:24:20.787 回答