


IdentityServer4-Autorisierungskonfiguration AllowedScopes-Instanz
1. Geschäftsszenario
Das Client
in der IdentityServer4-Autorisierungskonfiguration AllowedScopes
legt den spezifischen API-Site-Namen fest, der dem ApiName
entspricht, der vom Benutzer festgelegt wurde:
//授权中心配置new Client { ClientId = "client_id_1", AllowedGrantTypes = GrantTypes.ResourceOwnerPassword, AllowOfflineAccess = true, AccessTokenLifetime = 3600 * 6, //6小时SlidingRefreshTokenLifetime = 1296000, //15天ClientSecrets = {new Secret("secret".Sha256()) }, AllowedScopes = {"api_name1"}, }//API 服务配置app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions { Authority = $"http://localhost:5000", ApiName = "api_name1", RequireHttpsMetadata = false});
Die beiden oben genannten api_name1
-Konfigurationen müssen konsistent sein. Das Problem entsteht, weil die scope
-Konfiguration des Autorisierungscenters der gesamte API-Dienst ist. Wenn wir mehrere Client
-Konfigurationen haben, z Wenn es ein Frontend und ein Backend gibt und beide auf api_name1
zugreifen müssen, treten einige Probleme auf.
Zum Beispiel der Konfigurationscode eines Schnittstellendienstes im api_name1
-Dienst:
[Authorize()] [Route("api/values")] [HttpGet]public IActionResult Get() {return Ok(); }
Authorize()
-Konfiguration, der angibt, dass die api/values
-Schnittstelle Für den Zugriff ist eine Autorisierung erforderlich. Wenn das Autorisierungscenter mit zwei Client
(Frontend und Backend) konfiguriert ist und beide scope
api_name1
enthalten, gibt es jetzt zwei Situationen:
Frontend< Sowohl 🎜> als auch das Backend
Client
müssen für den Zugriff auf dieClient
-Schnittstelle berechtigt sein: kein Problem.api/values
- Front-End
erfordert keine Autorisierung für den Zugriff, und Back-End
Client
erfordert Autorisierung für den Zugriff: Es liegt ein Problem vor, das Front-EndClient
kann nicht darauf zugreifen, da dieClient
-Schnittstelle eingestellt istapi/values
.Authorize()
angeben, um den Zugriff zu autorisieren? Zum Beispiel: Client
. [Authorize(ClientId = 'client_id_1')]
Lösung, aber Sie können [Authorize(ClientId = 'client_id_1')]
verwenden. [Authorize(Roles = 'admin')]
-Code des Autorisierungszentrums wird wie folgt geändert:ResourceOwnerPasswordValidator
public class ResourceOwnerPasswordValidator : IResourceOwnerPasswordValidator {private readonly IUserService _userService;public ResourceOwnerPasswordValidator(IUserService userService) { _userService = userService; }public async Task ValidateAsync(ResourceOwnerPasswordValidationContext context) {var user = await _userService.Login(context.UserName, context.Password);if (user != null) {var claims = new List<Claim>() { new Claim("role", "admin") }; //根据 user 对象,设置不同的 rolecontext.Result = new GrantValidationResult(user.UserId.ToString(), OidcConstants.AuthenticationMethods.Password, claims); } } }
Konfiguration des Autorisierungszentrums wird wie folgt geändertstartup
var builder = services.AddIdentityServer(); builder.AddTemporarySigningCredential()//.AddInMemoryIdentityResources(Config.GetIdentityResources()).AddInMemoryApiResources(new List<ApiResource> {new ApiResource("api_name1", "api1"){ UserClaims = new List<string> {"role"}}, //增加 role claimnew ApiResource("api_name2", "api2"){ UserClaims = new List<string> {"role"}} }) .AddInMemoryClients(Config.GetClients());
[Authorize()] [Route("api/values")] [HttpGet]public IActionResult Get() {return Ok(); } [Authorize(Roles = "admin")] [Route("api/values2")] [HttpGet]public IActionResult Get2() {return Ok(); } [Authorize(Roles = "admin,normal")] [Route("api/values3")] [HttpGet]public IActionResult Get3() {return Ok(); }
-Schnittstelle hat keinen spezifischen api/values
-Satz, zugänglich für jeden Roles
. Role
Das obige ist der detaillierte Inhalt vonIdentityServer4-Autorisierungskonfiguration AllowedScopes-Instanz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wenn wir die aktuelle Win10 Enterprise Edition 2016 Long-Term Service Edition nicht mehr verwenden möchten, können wir auf die Professional Edition umsteigen. Die Methode ist auch sehr einfach. Wir müssen nur einige Inhalte ändern und das System-Image installieren. So ändern Sie die Langzeitdienstversion von Win10 Enterprise Version 2016 in die Professional-Version 1. Drücken Sie Win+R und geben Sie dann „regedit“ ein. 2. Fügen Sie den folgenden Pfad direkt in die Adressleiste oben ein: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT \CurrentVersion3 , suchen Sie dann die EditionID und ersetzen Sie den Inhalt zur Bestätigung durch „professional“.

So verwenden Sie Flask-Security zur Implementierung der Benutzerauthentifizierung und -autorisierung Einführung: In modernen Webanwendungen sind Benutzerauthentifizierung und -autorisierung wesentliche Funktionen. Um diesen Prozess zu vereinfachen, ist Flask-Security eine sehr nützliche Erweiterung, die eine Reihe von Tools und Funktionen bereitstellt, um die Benutzerauthentifizierung und -autorisierung einfach und bequem zu gestalten. In diesem Artikel wird erläutert, wie Sie mit Flask-Security die Benutzerauthentifizierung und -autorisierung implementieren. 1. Installieren Sie die Flask-Security-Erweiterung: am Anfang

UniApp implementiert eine detaillierte Analyse der Benutzeranmeldung und -autorisierung. In der modernen mobilen Anwendungsentwicklung sind Benutzeranmeldung und -autorisierung wesentliche Funktionen. Als plattformübergreifendes Entwicklungsframework bietet UniApp eine bequeme Möglichkeit, Benutzeranmeldung und -autorisierung zu implementieren. In diesem Artikel werden die Details der Benutzeranmeldung und -autorisierung in UniApp erläutert und entsprechende Codebeispiele beigefügt. 1. Implementierung der Benutzeranmeldefunktion. Erstellen Sie eine Anmeldeseite. Für die Benutzeranmeldefunktion ist normalerweise eine Anmeldeseite erforderlich, die ein Formular für Benutzer zur Eingabe ihrer Kontonummer und ihres Kennworts sowie eine Anmeldeschaltfläche enthält

Als derzeit beliebte Social-Media-Plattform bietet Douyin den Menschen nicht nur eine Fülle an Unterhaltungsinhalten, sondern ist für viele Marken und Händler auch zu einem wichtigen Kanal geworden, um Produkte zu bewerben und Verkäufe zu erzielen. Unter anderem hat sich das Schneiden und Verkaufen von Produkten von Douyin zu einer neuartigen und effizienten Marketingmethode entwickelt. Wie erhalten Sie also eine Genehmigung für die geschnittenen Produkte von Douyin? 1. Wie erhalten Sie eine Genehmigung für die geschnittenen Produkte von Douyin? kaufen. . Beim Schneiden und Verkaufen von Waren auf Douyin besteht der erste Schritt darin, die Genehmigung des Originalvideos einzuholen. Bei der Suche nach einem geeigneten Lizenzgeber können Sie die Nutzung verschiedener Kanäle wie der Douyin-Plattform, sozialer Medien und Branchenforen in Betracht ziehen. Finden Sie Ersteller oder Urheberrechtsinhaber mit beliebten Videoinhalten und vernetzen Sie sich aktiv mit ihnen.

So verwenden Sie JWT zur Implementierung von Authentifizierung und Autorisierung in PHP-Anwendungen. Einführung: Mit der rasanten Entwicklung des Internets werden Authentifizierung und Autorisierung in Webanwendungen immer wichtiger. JSONWebToken (JWT) ist ein beliebter Authentifizierungs- und Autorisierungsmechanismus, der in PHP-Anwendungen weit verbreitet ist. In diesem Artikel wird die Verwendung von JWT zur Implementierung von Authentifizierung und Autorisierung in PHP-Anwendungen vorgestellt und Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis der Verwendung von JWT zu erleichtern. 1. Einführung in JWT JSONWebTo

Mit der weiten Verbreitung von Webanwendungen sind Sicherheit und Datenschutz zu einem wichtigen Thema bei der Entwicklung von Webanwendungen geworden. Um die Sicherheit von Webanwendungen zu gewährleisten, sind Benutzerauthentifizierung und -autorisierung erforderlich. Als beliebtes Webentwicklungs-Framework bietet Flask viele Mechanismen zur Implementierung der Benutzerauthentifizierung und -autorisierung. Benutzerauthentifizierung Unter Benutzerauthentifizierung versteht man die Verwendung einer bestimmten Authentifizierungsmethode, um festzustellen, ob die Identität des Benutzers legitim ist, wenn der Benutzer auf die Webanwendung zugreift. Flask bietet viel

Es gibt viele Originalsoftware, um ihre eigenen geistigen Eigentumsrechte zu schützen. Bevor Benutzer die Software verwenden können, müssen sie einige Genehmigungen einholen und die Erlaubnis des Entwicklers einholen. Für einige Software gilt eine Testphase. Nach dieser Zeit müssen Sie eine erneute Autorisierung einholen, bevor Sie sie normal verwenden können. Wenn wps Sie darauf hinweist, dass die Autorisierung abgelaufen ist, können wir keine Vorgänge ausführen. Wie Sie dieses Problem lösen können, sehen wir uns die folgende Erklärung an. 1. Ich habe das WPS-Textprogramm geöffnet und auf das rote Kästchen im Bild oben geklickt, wie im Bild unten gezeigt. 2. Klicken Sie auf Konfigurations- und Reparaturtools. 3. Wählen Sie „Erweitert“, wie in der Abbildung unten gezeigt. 4. Klicken Sie auf das Produktverwaltungscenter, um den Inhalt der Eingabeaufforderung „Abgelaufen“ zu löschen, wie in der Abbildung unten dargestellt. 5. Nachdem Sie auf „Hinzufügen“ geklickt haben, geben Sie die Seriennummer ein, wie in der Abbildung unten gezeigt. 6. Dann zuerst

Wie implementiert man Benutzerauthentifizierungs- und Autorisierungsfunktionen über das Webman-Framework? Webman ist ein leichtes Web-Framework auf Python-Basis, das umfangreiche Funktionen und flexible Skalierbarkeit bietet. In der Entwicklung sind Benutzerauthentifizierung und -autorisierung sehr wichtige Funktionen. In diesem Artikel wird erläutert, wie Sie das Webman-Framework zum Implementieren dieser Funktionen verwenden. Webman installieren Zuerst müssen wir Webman installieren. Sie können den pip-Befehl zur Installation verwenden: pipinstallwebman
