小编Luk*_*wej的帖子

MVC核心如何强制/设置所有操作的全局授权?

如何强制/设置MVC Core中所有操作的全局授权?

我知道如何注册全局过滤器 - 例如我有:

Setup.cs

services.AddMvc(options =>
{
    options.Filters.Add(new RequireHttpsAttribute());
});
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我无法为授权添加相同的内容:

options.Filters.Add(new AuthorizeAttribute());

我有错误:

Cannot convert from 'Microsoft.AspNet.Authorization.AuthorizeAttribute()' to 'System.Type'

(方法.Add()需要IFilterMetadata类型)


我知道 - 从类似的问题 - 这适用于MVC4-5 ......所以必须在MVC Core上改变...

有人有什么想法吗?

authorize-attribute asp.net-authorization asp.net-core-mvc

55
推荐指数
2
解决办法
1万
查看次数

ASP.NET核心MVC视图组件

在ASP.NET Core MVC(以前称为MVC 6)中,有一个名为View Components的新功能区域,它似乎是部分视图的更好替代方案.我见过以下View Component Example.但目前似乎没有更多关于其使用的信息.

我正在尝试评估它是否值得使用这种模式,如果这可以/(或打算)被用作更好的方法来帮助甜甜圈缓存.

asp.net-core-mvc asp.net-core

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

Windows IoT和Raspberry Pi 3上的Asp .Net Core RC2

我正在尝试使用Windows IoT创建在Raspberry Pi 3上运行的Asp.Net Core RC2站点.

我找到了以下教程:https: //www.hackster.io/iddi/windows-10-iot-core-publish-asp-net-web-application-d9dcd4

但这是针对RC1的.那么RC2已经有了一个教程,有没有人这样做过?

第二个问题是,您可以在Windows IoT上调试asp.net核心站点吗?

谢谢你的帮助.

问候马库斯

windows-10-iot-core asp.net-core raspberry-pi3

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

.NET Core中的自定义授权属性

我正在.NET Core 1.1中构建一个API.我在基本控制器中构建了一个自定义User对象HttpContext.User,我的所有其他控制器都是从该控制器继承的,并且我默认启用了身份验证(必须[AllowAnonymous]在必要时手动禁用).该User对象具有IsAdmin属性.现在我正在检查用户是否是每个相关功能顶部的管理员,如下所示,但我觉得必须有一种方法来添加自定义属性来简化和清理此代码.

供参考,User.IsAdmin是这方面的简写:

bool.Parse(HttpContext.User.FindFirst("IsAdmin")?.Value)
Run Code Online (Sandbox Code Playgroud)

而不是这个:

[HttpGet]
public async Task<IActionResult> Get()
{
    if (!User.IsAdmin)
        return Forbid();

    // logic
}
Run Code Online (Sandbox Code Playgroud)

我喜欢这个(或类似的东西):

[AdminOnly]
[HttpGet]
public async Task<IActionResult> Get()
{
    // logic
}
Run Code Online (Sandbox Code Playgroud)

我试着查看源代码[AuthorizeAttribute]来尝试构建,但它只是一个shell而且我不知道真正的魔法在哪里发生.

我怎么能做到这一点?

c# asp.net-core-mvc asp.net-core asp.net-core-webapi

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

如何将变量传递到.NET 布局中?

我的应用程序有带有笔记的墙壁。我希望添加活动墙的布局名称。怎么做?我知道在前端我可以只使用 @Model...但是谁发送这个模型?另外更好的想法是将此信息存储在会话变量中或在用户数据库中创建另一个属性?

编辑:我使用.NET Core 1.1。

asp.net-core-mvc asp.net-core

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