mvc5中的身份验证和授权

时间:2016-10-06 02:59:04

标签: asp.net asp.net-mvc-5

我通过在visual studio 2013中创建个人用户帐户,使用mvc5进行默认身份验证和授权。但我遇到了问题。 在路径" /View/Shared/_LoginPartial.cshtml"有代码如下:

@using Microsoft.AspNet.Identity
@if (Request.IsAuthenticated)
{
    using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
    {
    @Html.AntiForgeryToken()

    <ul class="nav navbar-nav navbar-right">
        <li>
            @Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" })
        </li>
        <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
    </ul>
    }
}
else
{
    <ul class="nav navbar-nav navbar-right">
        <li>@Html.ActionLink("Register", "Register", "Account", routeValues: null, htmlAttributes: new { id = "registerLink" })</li>
        <li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
    </ul>
}

我尝试为第一个项目创建一个帐户并成功登录。 之后,我创建第二个项目并运行,我没有登录,但第二个项目显示登录成功。我查了一下Request.IsAuthenticated = true。为什么我不登录,但第二个项目显示登录成功。 索里,我的英文不好

1 个答案:

答案 0 :(得分:1)

我认为如果你使用代码并使Session成为好的话:

代码:

会话(&#34;管理员&#34;)=&#34; AdminLoginn&#34;  Session.Timeout = 120

登录页面中的此代码

你必须检查下一页的代码:         如果会话(&#34;管理员&#34;)&lt;&gt; &#34; AdminLoginn&#34;然后             Response.Redirect(&#34; AdminLogin.aspx&#34;,False)             退出子         结束如果

thanx