Using SignInManager in server-side Blazor

前端 未结 1 938
梦如初夏
梦如初夏 2020-12-18 16:07

Is it possible to use SignInManager without having some HTTPContext ? I\'m making a Blazor server-side app and I need to make end-users signed in u

相关标签:
1条回答
  • 2020-12-18 16:54

    I'd strongly suggest that you use the Identity authentication system in your app. You should not try to create any authentication system instead. This is something free, and is set up within a couple of minutes. Don't waste your time to do something so complicated. Instead learn what are the Blazor Authorization components and how to use them in your application. They are great.

    Note: The communication between Blazor Server and its client-side is done through SignaleR. HttpContext is not available most of the time. Do not try to use the HttpContext. Actually, you can't because whenever you try to access it, it is null.

    The following describe how you can create a Blazor Server App with the Identity UI:

    • Start creating a Blazor App

    • In the window titled Create a new Blazor app do this:

      1. Select Blazor Server App
      2. On the right side of the window is a link with the text Change, under the Authentication title. Tap the link and select Individual User Account. Press OK...
      3. Click the "Create" button

    Visual Studio has created for you a Blazor Server App with Identity UI to authenticate your users. Note that the Identity UI is actually the Razor Pages Identity UI used with Razor Pages and MVC. You may scaffold one or more items from this system if you need to make some changes. Go to solution explorer and verify that Visual Studio has added two folders named Areas and Data. She also has configured your Startup class with the necessary services to mange the Identity UI. What you want now is to create the database where user names, roles, claims, etc. are stored. To create the database you should use migrations. Here is a link telling you how to run the commands that do the job for you. Now you can run your app, register to the web site, login, logout, etc.

    God luck.

    0 讨论(0)
提交回复
热议问题