【问题标题】:umbraco 7.1 logout (razor syntax C#)umbraco 7.1 注销(剃刀语法 C#)
【发布时间】:2014-08-18 14:13:49
【问题描述】:

我有一个 umbraco 7.1 网站,我使用它自己的会员系统。我可以轻松登录,查看我的状态,甚至更改密码但是没有注销命令,我不知道应该使用什么方法 umbraco 7注销当前用户。我知道我可以清除 cookie 和成员身份,但它总是会出现运行时错误。 帮我! :D

【问题讨论】:

  • 哪个运行时错误?在 umbraco 上阅读注销按钮。显示您尝试过的代码?

标签: c# asp.net-mvc razor membership-provider umbraco7


【解决方案1】:

在后台(管理员)中,您可以添加一个新的部分视图并选择登录状态模板,您将获得以下代码。

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage

@using System.Web.Mvc.Html
@using ClientDependency.Core.Mvc
@using Umbraco.Web
@using Umbraco.Web.Models
@using Umbraco.Web.Controllers

@{
    var loginStatusModel = Members.GetCurrentLoginStatus();

    Html.EnableClientValidation();
    Html.EnableUnobtrusiveJavaScript();
    Html.RequiresJs("/umbraco_client/ui/jquery.js");
    Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.min.js");
    Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.unobtrusive.min.js");

    var logoutModel = new PostRedirectModel();


    //Here you can specify a redirect URL for after logging out, by default umbraco will simply
    //redirect to the current page. Example to redirect to the home page:

    //logoutModel.RedirectUrl = "/"; 

}   // NOTE: This RenderJsHere code should be put on your main template page where the rest   of your script tags are placed
@Html.RenderJsHere()
@if (loginStatusModel.IsLoggedIn)
{
    <p>You are currently logged in as @loginStatusModel.Name</p>

   using (Html.BeginUmbracoForm<UmbLoginStatusController>("HandleLogout"))
   {
        <fieldset>
            <legend>Logout</legend>
            <button>Logout</button>
        </fieldset>

       @Html.HiddenFor(m => logoutModel.RedirectUrl)
   }
}

【讨论】:

    【解决方案2】:

    FormsAuthentication.SignOut();

    【讨论】:

      猜你喜欢
      • 2013-04-04
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-24
      • 2013-09-17
      相关资源
      最近更新 更多