105 votes

Les permissions accordées à l'utilisateur ' sont insuffisantes pour effectuer cette opération. (rsAccessDenied)"}

J'ai créé un modèle de rapport à l'aide de SSRS (2005) et publié sur le serveur local. Mais lorsque j'ai essayé d'exécuter le rapport pour le modèle que j'ai publié en utilisant le constructeur de rapport, j'ai obtenu l'erreur suivante.

Erreur d'exécution du rapport : les autorisations accordées à l'utilisateur sont insuffisantes pour effectuer cette opération. (rsAccessDenied)

0 votes

J'ai trouvé cela utile.... msdn.microsoft.com/fr-GB/library/bb630430.aspx Windows présume que tout le monde est un utilisateur standard...

4voto

Mitch Stewart Points 882

Après avoir configuré SSRS 2016, je me suis connecté par RDP au serveur (Windows Server 2012 R2), j'ai accédé à l'URL des rapports ( https://reports.fakeserver.net/Reports/browse/ ) et créé un dossier intitulé FakeFolder ; tout semblait fonctionner correctement. Je me suis ensuite déconnecté du serveur, j'ai navigué vers la même URL, je me suis connecté en tant que même utilisateur et j'ai rencontré l'erreur ci-dessous.

Les permissions accordées à l'utilisateur 'fakeserver \mitchs ' sont insuffisants pour effectuer cette opération.

Confus, j'ai essayé à peu près toutes les solutions suggérées sur cette page et je n'ai toujours pas pu créer le même comportement à la fois localement et en externe lors de la navigation vers l'URL et l'authentification. J'ai ensuite cliqué sur l'ellipse de FakeFolder, puis sur Manage, sur Security (dans la partie gauche de l'écran), et je me suis ajouté en tant qu'utilisateur avec toutes les permissions. Après m'être déconnecté du serveur, j'ai navigué vers https://reports.fakeserver.net/Reports/browse/FakeFolder et a pu voir le contenu du dossier sans rencontrer l'erreur de permissions. Cependant, lorsque j'ai cliqué sur Accueil, j'ai reçu l'erreur de permissions.

Pour moi, c'était suffisant puisque personne d'autre n'aura jamais besoin de naviguer vers l'URL racine. J'ai donc noté mentalement qu'à chaque fois que je devais faire des changements dans SSRS, je devais d'abord me connecter au serveur et ensuite naviguer vers l'URL des rapports.

3voto

Vicky Points 1

Problème :

Erreur rsAccessDenied : Les autorisations accordées à l'utilisateur "User \User sont insuffisants pour effectuer cette opération.

Solution :

Cliquez sur "Folder Setting" > "New Role Assignment". Puis tapez "User \User dans la zone de texte "Nom du groupe ou de l'utilisateur". Cochez les cases des rôles que vous souhaitez attribuer à l'utilisateur.

2voto

Ajay Points 1

Ce qui a marché pour moi, c'est :

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder

1 votes

Cela a également fonctionné pour moi dans le cas où j'ai importé la base de données d'un collègue.

2voto

Cela a fonctionné pour moi. -Allez dans le gestionnaire de rapports, vérifiez les paramètres du site-> Sécurité -> Nouvelle attribution de rôle-> ajoutez l'utilisateur.

-En outre, allez dans Datasets dans le gestionnaire de rapports -> votre dataset de rapport -> Sécurité -> Nouvelle attribution de rôle -> ajouter l'utilisateur avec le rôle requis.

Gracias.

2voto

Dhruv Patel Points 96

Je sais que cela date d'il y a longtemps, mais cela peut être utile à d'autres nouveaux venus,

J'ai décidé de transmettre le nom d'utilisateur, le mot de passe et le domaine lors de la demande de rapports SSRS. J'ai donc créé une classe qui implémente IReportServerCredentials.

 public class ReportServerCredentials : IReportServerCredentials   
{
    #region  Class Members
        private string username;
        private string password;
        private string domain;
    #endregion

    #region Constructor
        public ReportServerCredentials()
        {}
        public ReportServerCredentials(string username)
        {
            this.Username = username;
        }
        public ReportServerCredentials(string username, string password)
        {
            this.Username = username;
            this.Password = password;
        }
        public ReportServerCredentials(string username, string password, string domain)
        {
            this.Username = username;
            this.Password = password;
            this.Domain = domain;
        }
    #endregion

    #region Properties
        public string Username
        {
            get { return this.username; }
            set { this.username = value; }
        }
        public string Password
        {
            get { return this.password; }
            set { this.password = value; }
        }
        public string Domain
        {
            get { return this.domain; }
            set { this.domain = value; }
        }
        public WindowsIdentity ImpersonationUser
        {
            get { return null; }
        }
        public ICredentials NetworkCredentials
        {
            get
            {
                return new NetworkCredential(Username, Password, Domain);
            }
        }
    #endregion

    bool IReportServerCredentials.GetFormsCredentials(out System.Net.Cookie authCookie, out string userName, out string password, out string authority)
    {
        authCookie = null;
        userName = password = authority = null;
        return false;
    }
}

en appelant SSRS Reprots, mettez le morceau de code suivant

 ReportViewer rptViewer = new ReportViewer();
 string RptUserName = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUser"]);
        string RptUserPassword = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserPassword"]);
        string RptUserDomain = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserDomain"]);
        string SSRSReportURL = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportURL"]);
        string SSRSReportFolder = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportFolder"]);

        IReportServerCredentials reportCredentials = new ReportServerCredentials(RptUserName, RptUserPassword, RptUserDomain);
        rptViewer.ServerReport.ReportServerCredentials = reportCredentials;
        rptViewer.ServerReport.ReportServerUrl = new Uri(SSRSReportURL);

SSRSReportUser, SSRSReportUserPassword, SSRSReportUserDomain, SSRSReportFolder sont définis dans les fichiers web.config.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X