asp.net mvc [Autoriser()] attribut mixte du groupe et de l'utilisateur
Je suis en utilisant ASP.NET MVC 1.1 avec l'authentification Windows. J'essaie de n'autoriser que les membres d'un groupe et moi-même. Je ne suis pas un membre du groupe et qui n'aurait pas besoin d'être membre de ce groupe. Je reçois windows login/mot de passe à chaque fois que je accéder à l'URL de l'application web. Le contrôleur HomeController a
[HandleError]
[Authorize(Roles=@"MyDomain\\company.security.group.name")]
[Authorize(Users=@"MyDoamin\\MyName")]
[OutputCache(Duration=86400,VaryByParam="PageIndex")]
public class HomeController : Controller
Comment puis-je activer une telle autorisation? L'application web est en cours d'exécution en vertu d'un site sur IIS6. Le site dispose d'un répertoire de sécurité pour accepter anonyme. La web app/répertoire virtuel anonyme a désactivé et la sécurité Intégrée de Windows activé. Le web.config a
OriginalL'auteur user266909 | 2010-01-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez sous-type
AuthorizeAttribute
à regarder des Utilisateurs et Rôles. sur le dessus de ma tête (non testé):Pouvez-vous élaborer sur "ne fonctionne pas," s'il vous plaît?
Je sais que c'est un vieux post, mais ce que vous semblez avoir manqué, c'est que
@
élimine le besoin d'échapper à vos barres obliques inverses. Lorsque vous faites les deux, vous créez un littéral de chaîne qui contient deux barres obliques inverses, au lieu de la seule barre oblique que vous avez besoin.SplitString n'est pas accessible dans ce contexte.
OriginalL'auteur Craig Stuntz
Que vous êtes la préfixation de votre nom de domaine/utilisateur et de domaine/groupe de chaînes avec le caractère " @ " vous n'avez pas besoin de double échapper à la barre oblique inverse. Vous pouvez essayer de remplacer ces lignes par:
ou
Un peu de lecture a également révélé que l'Autoriser filtre effectue un "utilisateurs" et des "rôles" vérifier. Si l'utilisateur ne remplit pas les deux conditions, alors ils pourront se voir refuser l'accès.
Pour obtenir le comportement que vous voulez, vous devez écrire une coutume de l'autorisation de filtre comme suggéré dans une réponse précédente.
OriginalL'auteur Andy Rose