umbraco 7 登录成功检查

umbraco 7 log in successful check

我使用内置的 umbraco 登录系统允许成员登录。我的代码如下所示:

@using (Html.BeginUmbracoForm<UmbLoginController>("HandleLogin"))
{
<legend>Login</legend>

@Html.ValidationSummary("loginModel", true)

@Html.TextBoxFor(m => loginModel.Username, new { @class = "form-control", @placeholder = "Username" })
@Html.ValidationMessageFor(m => loginModel.Username, "", new { @class = "alert-danger", @role = "alert" })
<br />

@Html.PasswordFor(m => loginModel.Password, new { @class = "form-control", @placeholder = "Password" })
@Html.ValidationMessageFor(m => loginModel.Password, "", new { @class = "alert-danger", @role = "alert" })
<br />

<button class="btn btn-default">Login</button>
}

但是我想向用户显示他们已成功登录,但我无权访问控制器 class。我怎样才能做到这一点?

Umbraco 7.1.0 起,UmbLoginController 将用户重定向到当前页面,无论登录是否成功,即如果没有指定 RedirectUrl

您可以检查视图是否登录成功,方法是检查 TempDataDictionaryLoginSuccess,如下所示:

@if ((bool)TempData["LoginSuccess"]) {
    <h1>Welcome user...</h1>
}
else {
    // be kind to the users and let them know what happened here
}

另一种选择是使用会员助手: https://our.umbraco.org/documentation/Reference/Querying/MemberShipHelper/

@if (@Members.IsLoggedIn())
{
    <text>Yes</text>
}