小编Dav*_*ave的帖子

Blazor @attribute [Authorize] 标记不起作用

我有一个可用的 .NET Core 3.0 MVC 网站,使用 AzureAD 进行身份验证,一切正常。我已经开始将一些前端页面迁移到 Blazor(在同一个项目中),但无法进行身份验证。

我已将 @attribute [Authorize] 标记添加到 Index.razor 的顶部,但我没有像将其添加到标准 ASP.NET MVC 控制器时那样重定向到 Azure 进行登录。

启动.配置服务

services.AddAuthentication(options =>
{
    options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
    options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie()
.AddOpenIdConnect(options =>
{
    Configuration.GetSection("OpenIdConnect").Bind(options);
});
services.AddAuthorizationCore(options =>
{
    options.AddPolicy(Policies.AccessRole, Policies.IsAccessPolicy());
    options.AddPolicy(Policies.AdminRole, Policies.IsAdminPolicy());
});
Run Code Online (Sandbox Code Playgroud)

启动.配置

app.UseAuthentication();
app.UseAuthorization();
Run Code Online (Sandbox Code Playgroud)

Index.razor

@page "/"
@attribute [Authorize(Policy = Policies.AccessRole)]
Run Code Online (Sandbox Code Playgroud)

政策

public static class Policies
{
    public const string AccessRole = "Access";
    public const string AdminRole = "Admin";

    public static AuthorizationPolicy IsAccessPolicy() …
Run Code Online (Sandbox Code Playgroud)

authentication authorization asp.net-core blazor

7
推荐指数
1
解决办法
7345
查看次数

在 Graph API 中搜索用户

在我的 C# 应用程序中,我尝试通过 Graph API 搜索用户。我唯一的参数是存储在 onPremisesSamAccountName 字段中的用户名。

通过 Graph Explorer 我可以成功运行查询

https://graph.microsoft.com/v1.0/users?$count=true&$search="onPremisesSamAccountName:myusername"&$select=id,displayName

Graph Explorer 为我提供了要使用的 C# 代码

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var users = await graphClient.Users
    .Request()
    .Search("onPremisesSamAccountName:myusername")
    .Select("id,displayName")
    .GetAsync();
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试使用该代码时,我收到一条错误消息,指出“搜索不是一种方法”,我是否需要添加额外的包才能使用“搜索”?

microsoft-graph-api

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