Identity - jak dużo kodu wygenerowanego automatycznie usuwacie

0

Czy wykorzystując identity w asp.net mvc sporo część kodu automatycznie wygenerowanego usuwacie ? Ponieważ mam wrażenie, że tam ponad 50% jego jest mi nie potrzebne, lecz nie chcę czegoś usunąć i później żeby nie działało coś prawidłowo. Jak wy to robicie ?

0

Ja czasami tworzę 2 projekty, jeden pusty drugi z autoryzacją.
Nie do końca pamiętam jak implementuje się te mechanizmy i korzystam ze "ściągi" aby się nie pomylić :-D

0

a może ktoś z Was wrzuciłby do repo taką bazówkę tzn. czysta aplikacja z autoryzacją + role, pełny crud z przypisywaniem ról.... taki czysty okrojony o niepotrzebne rzeczy.
ot taka prośba i inicjatywa aby to mieć i na nowo nie wyważać drzwi z każdym nowym projektem.

1

Pytasz o usuwanie?

Ja opracowałem sobie podkładkę do aplikacji ASP.NET MVC, stworzyłem ją bez autentykacji, a samo Identity zaprułem implementując każdy interfejs z ręki, od początku. Trochę mi tego wyszło, ale przynajmniej mam pełną kontrolę nad tym co się dzieje w programie.

0

To jest wszystko co potrzebujesz

Context bazodanowy

 public class AuthContext : IdentityDbContext<ApplicationUser>
 {
        public AuthContext()
            : base("AuthDb")
        {

        }
}

Jakiś connectrion string

<connectionStrings>
    <add name="AuthDb" connectionString="******" />
  </connectionStrings>

Jakieś repo czy inne cudo które będzie działać na UserManager. Poniższy kod może nie jest najlepszej jakości ale idee zrozumiesz

public class AuthRepository : IDisposable
 {
        private readonly AuthContext ctx;

        private readonly UserManager<ApplicationUser> userManager;

        public AuthRepository()
        {
            ctx = new AuthContext();
            userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(ctx));
        }

        public async Task<IdentityResult> RegisterUser(UserModelDto userModelDto)
        {
            var user = new ApplicationUser
            {
                UserName = userModelDto.UserName,
                City = userModelDto.City
            };

            var result = await userManager.CreateAsync(user, userModelDto.Password);

            return result;
        }

        public async Task<ApplicationUser> FindUser(string userName, string password)
        {
            var user = await userManager.FindAsync(userName, password);

            return user;
        }

        public void Dispose()
        {
            ctx.Dispose();
            userManager.Dispose();
        }
}

Klasę którą dziedziczy po IdentityUser

public class ApplicationUser : IdentityUser
{
        public string City { get; set; }
}

Do tego oczywiście jakaś baza danych + odpowiednie paczki nugetów.

0

Tutaj w tym repo, które ktoś wcześniej podał nie widzę aby była klasa odpowiedzialna za rejestrację jak i widok rejestracji:

https://github.com/bartekkois/AutomatedInvoiceGenerator/tree/master/src/AutomatedInvoiceGenerator

Posiadacie jakieś repo z miarę "czystym" identity ?

0

Czy kontroler ManageController jest mocno potrzebny ? Ponieważ został on wygenerowany automatycznie.

1
Nadziany Szczur napisał(a):

Czy kontroler ManageController jest mocno potrzebny ? Ponieważ został on wygenerowany automatycznie.

Jeśli będziesz go potrzebował to będzie potrzebny.

0
Nadziany Szczur napisał(a):

Tutaj w tym repo, które ktoś wcześniej podał nie widzę aby była klasa odpowiedzialna za rejestrację jak i widok rejestracji:

https://github.com/bartekkois/AutomatedInvoiceGenerator/tree/master/src/AutomatedInvoiceGenerator

Posiadacie jakieś repo z miarę "czystym" identity ?

Ja w tym projekcie wywaliłem rejestrację o ile pamiętam. Konta dodaje użytkownik o uprawnieniach admina z poziomu panelu.

0

To raczej mało przydatne mi logowanie bez rejestracji. Chciałbym wyrzucić niepotrzebny kod, ale nie wiem czy w ten sposób później nie będę miał jakiś błędów których nie będę w stanie naprawić. To zostawić całe identity bez zmian ?

0

Zastanów się jak twój system ma działać i zostaw to co potrzebne.

0

Chcę mieć logowanie, rejestrację oraz możliwość tworzenia ról i dodawania do nich użytkowników. I jeszcze inne pytanie korzystać z code firsta czy database firsta ?

0

A jesteś programistą C# czy SQL? Jeśli to pierwsze, to code first, jeśli drugie to database first.

0

Chcę mieć logowanie, rejestrację oraz możliwość tworzenia ról i dodawania do nich użytkowników. Co trzeba w tym przypadku zostawić ? Tylko nie piszcie, że to co potrzebne. Chodzi mi o konkrety.

1 użytkowników online, w tym zalogowanych: 0, gości: 1