2016-10-06 7 views
0

私はmvc5を使用していますが、デフォルトの認証と承認では、Visual Studio 2013で個々のユーザーアカウントを作成しています。パスに 「/View/Shared/_LoginPartial.cshtmlは、」コードのフォローを持っている:私はmvc5での認証と承認

@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> 
} 

は、最初のプロジェクトのためにアカウントを作成しようとすると、ログインに成功。 後、私は2番目のプロジェクトを作成し、実行し、私はログインしていないが、2番目のプロジェクトの表示ログインが成功しました。私はRequest.IsAuthenticated = trueをチェックします。なぜ私はログインしないのですが、2番目のプロジェクトはログインを成功させます。 Sory、私の悪い英語

答えて

1

あなたがコードを使用し、そのほかもバターセッションを行う場合、私は思う:

コード:

セッション( "管理者")= "AdminLoginn" Session.Timeout = 120

ログインページでこのコード

、あなたは、次のページでコードを確認する必要があります。 その後セッション(「管理者」)<>「AdminLoginn」の場合のResponse.Redirect( "AdminLogin.aspx"、False)が 出口サブ エンド

ありがとう

+0

もしそうであれば、感謝します。この方法は解決策です。しかしなぜアイデンティティが混乱しているのか。 別の方法がありますか? – john