2017-05-17 16 views
5

フォーム認証を可能な限り単純に使用するこの古いMVC5アプリケーションがあります。 web.configファイルに保存されている1つのアカウントのみがAsp.Net Core - 最も簡単なフォーム認証

<authentication mode="Forms"> 
    <forms loginUrl="~/Login/Index" timeout="30"> 
    <credentials passwordFormat="Clear"> 
     <user name="some-user" password="some-password" /> 
    </credentials> 
    </forms> 
</authentication> 

は、ログインルーチンがちょうど

FormsAuthentication.Authenticate(name, password); 

を呼び出し、それはそれだなど何の役割が存在しない、があります。 asp.netコアに類似したものがありますか?

+0

認証はasp.netコアと互換性がありません。むしろIDを使用する –

答えて

9

それはStartup.cs、configureメソッドでは:)

  1. それほど単純ではありません。

  2. 保護するリソースを保護するためにAuthorize属性を追加します。

    [Authorize] 
    public IActionResult Index() 
    { 
        return View(); 
    } 
    
  3. ホームコントローラのログインポストアクションメソッドでは、次のメソッドを記述します。ここで

    var username = Configuration["username"]; 
    var password = Configuration["password"]; 
    if (authUser.Username == username && authUser.Password == password) 
    { 
        var identity = new ClaimsIdentity(claims, 
         CookieAuthenticationDefaults.AuthenticationScheme); 
    
        HttpContext.Authentication.SignInAsync(
        CookieAuthenticationDefaults.AuthenticationScheme, 
        new ClaimsPrincipal(identity)); 
    
        return Redirect("~/Home/Index"); 
    } 
    else 
    { 
        ModelState.AddModelError("","Login failed. Please check Username and/or password"); 
    } 
    

ご参考のためgithubのレポです:FORMAUTHとhttps://github.com/anuraj/CookieAuthMVCSample

+0

あなたのコードを使用しますが、Startup.csのconfigureメソッドで 'lambda式を型に変換できません。 'というエラーが表示されます。 –

+0

@SanyamiVaidyaどのバージョンのasp.netコアを使用していますか? – Anuraj

+0

私はasp.netコアの1.0.1バージョンを使用しています –

関連する問題