sql >> Database >  >> RDS >> Sqlserver

gebruikersnaam verkrijgen in web-api-controller wanneer de databasetabel de gebruiker opslaat als geheel getal

Vanuit het perspectief van ASP.NET Web API is het gebruik van lidmaatschapsprovider en de kant-en-klare FormsAuthentication al onhandig, dus waarom zou je niet meedoen? :) Hoe dan ook, ervan uitgaande dat je web-API alleen door de webclients wordt gebruikt en FA cool is, kun je de UserData van het FA-ticket gebruiken om de gebruikers-ID in te voeren. Op die manier hoeft u de ID niet elke keer op uw DB te krijgen. Maar u moet het ticket zelf maken en laat de standaard out-of-box-implementatie dat niet voor u doen. Vervolgens kunt u in de PostAuthenticateRequest-gebeurtenis de gebruikers-ID van het ticket lezen en deze in de identiteit instellen. Natuurlijk moet je hiervoor je eigen aangepaste identiteit maken met een ID-eigenschap of als je .NET 4.5 gebruikt, kun je FormsIdentity zelf gebruiken, maar je kunt misschien de NameIdentifier-claim gebruiken om de ID op te slaan. Bekijk dit eens - ASP.NET MVC - Stel aangepaste IIdentity of IPrincipal in .




  1. Mysql wijzig het UNSIGNED-kenmerk in een specifieke kolom

  2. MySQL Union-query, volgorde op 2 variabelen

  3. Hoe kan ik slechts één rij voor een tabel toestaan?

  4. phpMyAdmin - kan geen verbinding maken - ongeldige instellingen - sinds ik een root-wachtwoord heb toegevoegd - vergrendeld