


Configuration des autorisations IdentityServer4, instance AllowedScopes
1. Scénario commercial
Le Client
dans la configuration de l'autorisation IdentityServer4 AllowedScopes
définit le nom du site API spécifique, qui est le ApiName
défini par l'utilisateur. Exemple de code :
//授权中心配置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});
configurations ci-dessus doivent être cohérentes. Le problème se pose car la configuration api_name1
du centre d'autorisation est l'ensemble du service API. Si nous avons plusieurs scope
configurations, telles. comme s'il y a un frontend et un backend, et que les deux doivent accéder à Client
, certains problèmes surgiront. api_name1
: configuration api_name1
[Authorize()] [Route("api/values")] [HttpGet]public IActionResult Get() {return Ok(); }
, indiquant que l'interface Authorize()
nécessite une autorisation d'accès, si le centre d'autorisation est configuré avec deux api/values
(frontend et backend), et que les deux Client
incluent scope
, il y aura maintenant deux situations : api_name1
- frontend
et le backend
Client
doivent être autorisés pour accéder à l'interfaceClient
: pas de problème.api/values
- Front-end
ne nécessite pas d'autorisation pour l'accès, et le back-end
Client
nécessite une autorisation pour l'accès : Il y a un problème, le front-endClient
ne peut pas y accéder car l'interfaceClient
est paramétréeapi/values
.Authorize()
pour autoriser l'accès ? Par exemple : Client
. [Authorize(ClientId = 'client_id_1')]
solution, mais vous pouvez utiliser [Authorize(ClientId = 'client_id_1')]
. [Authorize(Roles = 'admin')]
code du centre d'autorisation est modifié comme suit :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); } } }
configuration du centre d'autorisation est modifiée comme suitstartup
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(); }
n'a pas d'ensemble api/values
spécifique, Accessible à tous Roles
. Role
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lorsque nous ne souhaitons plus utiliser l'actuelle édition de service à long terme de Win10 Enterprise Edition 2016, nous pouvons choisir de passer à l'édition professionnelle. La méthode est également très simple. Il suffit de modifier certains contenus et d'installer l'image système. Comment changer la version de service à long terme de Win10 Enterprise version 2016 en version professionnelle 1. Appuyez sur win+R, puis entrez « regedit » 2. Collez le chemin suivant directement dans la barre d'adresse ci-dessus : Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT \CurrentVersion3 , puis recherchez l'EditionID et remplacez le contenu par "professionnel" pour confirmer

Comment utiliser Flask-Security pour implémenter l'authentification et l'autorisation des utilisateurs Introduction : Dans les applications Web modernes, l'authentification et l'autorisation des utilisateurs sont des fonctions essentielles. Pour simplifier ce processus, Flask-Security est une extension très utile qui fournit une série d'outils et de fonctions pour rendre l'authentification et l'autorisation des utilisateurs simples et pratiques. Cet article expliquera comment utiliser Flask-Security pour implémenter l'authentification et l'autorisation des utilisateurs. 1. Installez l'extension Flask-Security : au début

Analyse détaillée de la mise en œuvre par UniApp de la connexion et de l'autorisation des utilisateurs. Dans le développement d'applications mobiles modernes, la connexion et l'autorisation des utilisateurs sont des fonctions essentielles. En tant que cadre de développement multiplateforme, UniApp fournit un moyen pratique de mettre en œuvre la connexion et l'autorisation des utilisateurs. Cet article explorera les détails de la mise en œuvre de la connexion et de l'autorisation des utilisateurs dans UniApp, et joindra des exemples de code correspondants. 1. Implémentation de la fonction de connexion utilisateur Créer une page de connexion La fonction de connexion utilisateur nécessite généralement une page de connexion, qui contient un formulaire permettant aux utilisateurs de saisir leur numéro de compte et leur mot de passe ainsi qu'un bouton de connexion.

Douyin, en tant que plate-forme de médias sociaux populaire à l'heure actuelle, offre non seulement aux gens une richesse de contenu de divertissement, mais est également devenu un canal important permettant à de nombreuses marques et commerçants de promouvoir leurs produits et de réaliser des ventes. Parmi eux, le découpage et la vente de produits par Douyin sont devenus une méthode de marketing nouvelle et efficace. Alors, comment obtenir l'autorisation pour les produits en tranches de Douyin ? 1. Comment obtenir l'autorisation pour les produits en tranches de Douyin ? Les produits en tranches de Douyin décomposent de longues vidéos en courts clips vidéo et y intègrent des informations sur la promotion des produits pour attirer les téléspectateurs. acheter. . Lors du découpage et de la vente de marchandises sur Douyin, la première étape consiste à obtenir l'autorisation de la vidéo originale. Lorsque vous recherchez un concédant de licence approprié, vous pouvez envisager d'utiliser différents canaux tels que la plateforme Douyin, les médias sociaux et les forums industriels. Trouvez des créateurs ou des détenteurs de droits d'auteur avec du contenu vidéo populaire et connectez-vous activement avec eux,

Comment utiliser JWT pour implémenter l'authentification et l'autorisation dans les applications PHP Introduction : Avec le développement rapide d'Internet, l'authentification et l'autorisation deviennent de plus en plus importantes dans les applications Web. JSONWebToken (JWT) est un mécanisme d'authentification et d'autorisation populaire largement utilisé dans les applications PHP. Cet article expliquera comment utiliser JWT pour implémenter l'authentification et l'autorisation dans les applications PHP, et fournira des exemples de code pour aider les lecteurs à mieux comprendre l'utilisation de JWT. 1. Introduction à JWTJSONWebTo

Avec l’utilisation généralisée des applications Web, la sécurité et la protection des données sont devenues un enjeu important dans le développement d’applications Web. Pour garantir la sécurité des applications Web, l'authentification et l'autorisation des utilisateurs sont requises. En tant que framework de développement Web populaire, Flask fournit de nombreux mécanismes pour implémenter l'authentification et l'autorisation des utilisateurs. Authentification de l'utilisateur L'authentification de l'utilisateur fait référence à l'utilisation d'une certaine méthode d'authentification pour déterminer si l'identité de l'utilisateur est légitime lorsqu'il accède à l'application Web. Flask offre beaucoup

Il existe de nombreux logiciels authentiques afin de protéger leurs propres droits de propriété intellectuelle. Avant d'utiliser le logiciel, les utilisateurs doivent obtenir certaines autorisations et obtenir l'autorisation du développeur avant de pouvoir l'utiliser. Certains logiciels disposent d'une période d'essai. Après cette période, vous devez obtenir une nouvelle autorisation avant de pouvoir l'utiliser normalement. Si wps indique que l'autorisation a expiré, nous ne pouvons effectuer aucune opération. Comment résoudre ce problème, jetons un œil à l’explication ci-dessous. 1. J'ai ouvert le programme de texte WPS et cliqué sur la case rouge dans l'image ci-dessus, comme le montre l'image ci-dessous. 2. Cliquez sur Outils de configuration et de réparation. 3. Sélectionnez « Avancé » comme indiqué dans la figure ci-dessous. 4. Cliquez sur le centre de gestion des produits pour supprimer le contenu de l'invite « Expiré », comme indiqué dans la figure ci-dessous. 5. Après avoir cliqué sur « Ajouter », saisissez le numéro de série, comme indiqué dans la figure ci-dessous. 6. Alors d'abord

Comment implémenter les fonctions d'authentification et d'autorisation des utilisateurs via le framework Webman ? Webman est un framework Web léger basé sur Python, qui offre des fonctions riches et une évolutivité flexible. En développement, l'authentification et l'autorisation des utilisateurs sont des fonctions très importantes. Cet article présentera comment utiliser le framework Webman pour implémenter ces fonctions. Installer Webman Tout d'abord, nous devons installer Webman. Vous pouvez utiliser la commande pip pour installer : pipinstallwebman
