小编Ale*_*bov的帖子

图形API - 没有足够的权限来完成操作

使用时我尝试访问Graph Service Client时收到错误:

代码:Authorization_RequestDenied
消息:没有足够的权限来完成操作.

在研究此错误后,最常见的解决方案是设置API的权限.这已经完成,并具有读取基本/完整配置文件的权限.

我删除并重新添加了API.

下面是我的AzureAuthenticationProvider类中的代码,它继承自IAuthenticationProvider:

public class AzureAuthenticationProvider : IAuthenticationProvider
{
    private string _azureDomain = "myDevDom.onmicrosoft.com";

    public async Task AuthenticateRequestAsync(HttpRequestMessage request)
    {
        try
        {
            string clientId = "2b823c67-1b0d-4a10-a9e1-737142516f5q";
            string clientSecret = "xxxxxx";

            AuthenticationContext authContext = new AuthenticationContext("https://login.windows.net/" + _azureDomain + "/oauth2/token");

            ClientCredential credentials = new ClientCredential(clientId, clientSecret);

            AuthenticationResult authResult = await authContext.AcquireTokenAsync("https://graph.microsoft.com/", credentials);

            request.Headers.Add("Authorization", "Bearer " + authResult.AccessToken);
        }
        catch (Exception ex)
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试将客户端密钥更改为无效的ID并且它引发了错误,因此客户端密钥是正确的.我还尝试通过更改访问令牌来验证访问令牌是否有效,这也会返回错误.

上面的代码似乎工作正常.

以下是我尝试访问Azure AD的代码:

public async Task<IGraphServiceUsersCollectionPage> …
Run Code Online (Sandbox Code Playgroud)

c# permissions azure azure-active-directory azure-ad-graph-api

26
推荐指数
4
解决办法
3万
查看次数

Spring Security:收到错误“服务器理解了请求但拒绝授权”

使用Spring Security运行应用程序时,我在所有浏览器上都遇到以下错误:

“服务器理解了请求,但拒绝授权”

我尝试通过将“ spring-security.xml”文件中的“角色”从“ ROLE_ADMIN”更改为“ ROLE_USER”。

下面是“ spring-security.xml”

<http auto-config="true">
    <intercept-url pattern ="/admin" access = "hasRole('ROLE-USER')"/>
    </http>
    <authentication-manager>
        <authentication-provider>
        <user-service>
            <user name = "abc" password = "xyz" authorities="hasRole('ROLE-USER')" />
        </user-service>
        </authentication-provider>
    </authentication-manager>
Run Code Online (Sandbox Code Playgroud)

下面是SpringController类:

@Controller
public class SpringController {



@RequestMapping(value = "/")
    public String homePage() {
        return "HomePage";
    }
    @RequestMapping(value="/admin", method=RequestMethod.GET)
    public String loginPage() {
        return "login";
}
Run Code Online (Sandbox Code Playgroud)

已加载HomePage.jsp和login.jsp页面的属性,但是在login.jsp上传递凭据后出现错误:

HTTP状态403 –禁止


类型:状态报告

消息:访问被拒绝

描述:服务器理解了该请求,但拒绝对其进行授权。


Apache Tomcat / 7.0.90

web.xml spring-security

5
推荐指数
1
解决办法
4569
查看次数

不能将类型 'System.Threading.tasks.task&lt;Quartz.Scheduler&gt; 隐式转换为 &lt;Quartz.IScheduler&gt;

public void Start()
    {

        ISchedulerFactory schedFact = new  StdSchedulerFactory();

        IScheduler sched = schedFact.GetScheduler();
        sched.Start();

        IJobDetail job = JobBuilder.Create<EmailJob>()
            .Build();

        ITrigger trigger = TriggerBuilder.Create()
          .StartNow()
          .WithSimpleSchedule(x => x

              .WithIntervalInHours(48)
              .RepeatForever())
          .Build();

        sched.ScheduleJob(job, trigger);
    }
Run Code Online (Sandbox Code Playgroud)

我出错了 IScheduler sched = schedFact.GetScheduler();

它说

“不能将类型 System.Threading.tasks.task Quartz.Scheduler 隐式转换为 Quartz.IScheduler”

c# windows-services quartz

4
推荐指数
1
解决办法
2860
查看次数

跨AWS账户在2个SQS队列中复制消息的最佳方法

在AWS账户中将消息从一个SQS队列复制到另一个队列的最佳方法是什么?搜索之后,我附加了策略,授予IAM用户(在目标帐户中)对源队列的完全读写访问权限.然后,我为每个人的源队列附加了一个权限,以便在队列上发送和接收消息访问.

我收到以下错误 -

线程"main"中的异常com.amazonaws.AmazonServiceException:请求中包含的安全令牌无效.(服务:AmazonSQS;状态代码:403

可能是IAM用户凭据有问题,但是,我刷新了凭据,但我仍然收到错误

amazon-sqs amazon-web-services amazon-iam

3
推荐指数
1
解决办法
2558
查看次数