小编LCa*_*way的帖子

ASP.NET Core - 使用 Windows 身份验证进行授权

我已经将我的 web api 配置为使用 windows 身份验证。我的目标本质上是根据用户 Windows 帐户限制控制器中的某些操作。有些将能够执行读取操作,而其他将能够执行将写入基础数据库的操作。我找到了大量关于如何设置基于声明的授权的文档,这是我认为我需要走的路线。我还没有发现如何使用 windows auth 进行设置。我想我错过了中间步骤,例如将 Windows 身份验证注册为身份提供者?

启动文件

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();

    services.AddAuthentication(IISDefaults.AuthenticationScheme);

    services.AddAuthorization(options =>
    {
        options.AddPolicy("readOnly", policy =>
                          policy.RequireClaim(`???????????????????????`));
        options.AddPolicy("write", policy =>
                          policy.RequireClaim(`???????????????????????`));
    });
}
Run Code Online (Sandbox Code Playgroud)

控制器

[Authorize(Policy = "ReadOnly")]
public class MyController : Controller
{
    public ActionResult SomeReadOnlyAction()
    {
        //Return data from database
    }

    [Authorize(Policy = "Write")]
    public ActionResult AWriteAction()
    {
        //Create/Update/Delete data from database
    }
}
Run Code Online (Sandbox Code Playgroud)

我想问这个问题的另一种方法是如何使用 Windows 身份验证配置或访问声明/角色等。

c# iis authorization windows-authentication asp.net-core

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

Bootstrap - 让 Row 占据容器的剩余高度

我不希望我的页面允许任何大于屏幕尺寸的溢出。我将有一个由两行组成的容器。(红色和绿色波纹管)。我希望顶行(红色)根据其中的内容调整大小。然后我希望底行(绿色)自动填充剩余空间。我不希望它扩展到初始容器之外,也不希望它暂时滚动。

执行此操作需要哪些类/css/flexbox 属性?

在此处输入图片说明

html css bootstrap-4

6
推荐指数
0
解决办法
2180
查看次数

Javascript - 生成相同颜色的不同阴影

我希望能够调用一个采用基色的函数,并返回一个对应于相同颜色的不同色调的值数组.该数组可以包含十六进制值或rgba()值.我希望能够输入所需的阴影量.然后,阴影量也可以用作增加阴影的度量.例如,如果我想要输出有3种不同的阴影,第一个阴影将是基数的1/3 ..但是数学可以工作...另外,在某些情况下,第一个阴影可能需要100%透明所以我我想接受初始alpha的争论.我已经组织了我认为函数的基本逻辑,但数学对我来说不清楚.

        var buildColorStops = function (baseColor,numberOfValues,initialAlpha) {
            var b = baseColor;
            var n = numberOfValues //expected number of colors in the output. If n was 3 results would be [light blue, blue(base), dark blue] (# or rgba will work)
            var d = 1 / n; // if number of values was 5 d would represent 1/5 of the base. 
            var ia = initialAlpha; // some situations may require the first color to be 100% transparent 

            var outputArray = []; …
Run Code Online (Sandbox Code Playgroud)

javascript colors

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

ODP.NET Core-脚手架数据库上下文

我正在使用oracles odp.net core beta3。具体地说,该dll是Oracle.ManagedDataAccess.Core.2.12.0-beta3。该项目将创建一个位于oracle实例之上的Web api。

我的问题-此提供程序是否支持命令“ Scaffold-DBContext”。如果是这样,那我在做什么错...我尝试使用类似于以下内容的连接字符串。

Data Source={databasename}/{TNS}.domain.local; User ID={UserName};Password={Password};
Run Code Online (Sandbox Code Playgroud)

和实际的命令在Package Manager终端中

Scaffold-DbContext Data Source={databasename}/{TNS}.domain.local; User ID={UserName};Password={Password};" Oracle.ManagedDataAccess -OutputDir Models -Tables {TableName}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误,这表明它无法在提供程序程序集中喜欢DesignTimeServiceAttribute。

我还引用了Microsoft.EntityFrameworkCore.Tools(2.2.0),其中包括设计工具。

错误

    System.InvalidOperationException: Unable to find expected assembly attribute named DesignTimeProviderServicesAttribute in provider assembly Oracle.ManagedDataAccess. This attribute is required to identify the class which acts as the design-time service provider factory.
   at Microsoft.EntityFrameworkCore.Design.Internal.DesignTimeServicesBuilder.ConfigureProviderServices(String provider, IServiceCollection services, Boolean throwOnError)
   at Microsoft.EntityFrameworkCore.Design.Internal.DesignTimeServicesBuilder.Build(String provider)
   at Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContext(String provider, String connectionString, String outputDir, String outputContextDir, String dbContextClassName, IEnumerable`1 schemas, IEnumerable`1 tables, …
Run Code Online (Sandbox Code Playgroud)

odp.net asp.net-core

4
推荐指数
2
解决办法
3756
查看次数

ASP.NET 将 Windows 身份验证与自定义应用程序组/角色相结合

坦白说,我并不完全了解 Windows 身份验证、Active Directory 和 LDAP 的世界,并且对通过 SQL Server 处理个人用户帐户的经验也很少。此外,我发现网络上的大多数文档,尤其是 Microsoft 提供的文档,都假设您在纯粹的 Microsoft 世界中进行开发,并且有能力实现他们提供的最新解决方案、框架或服务。

我正在开发一个内联网应用程序。由于各种原因,我无法利用 Active Directory 组/角色,但希望尽可能地模仿此功能。因此,我需要能够在应用程序内部管理用户/角色/组。但是,我希望能够在此过程中检测用户的 Windows 身份验证凭据。换句话说,我不希望用户必须注册,也不希望他们必须登录,而是使用他们登录时使用的 Windows 帐户。

然后,应用程序管理的角色将确定用户在应用程序中将具有的各种功能。

这是一个 asp.net MVC 应用程序。我最终需要满足以下有关授权的要求。

1) 将当前 Windows 用户与应用程序用户存储和角色进行比较。可以使用SQL Server这个。

2)根据用户角色操纵功能

3) 允许管理员搜索 AD 并将域\用户添加到商店以及分配组

4)创建Groups并注册到应用程序组件

任何有关我如何解决或所有这些问题的信息都将非常有益。

c# asp.net authentication asp.net-mvc active-directory

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

Asp.net(MVC)和WPF(MVVM)的比较 - 数据绑定是否相等?

我正在考虑从WPF(mvvm)转换到asp.net(MVC).我认为为了理智而绘制asp.net(MVC)和WPF(MVVM)的失败比较可能是有用的.

以下WPF示例的MVC等价物是什么样的?具体而言,我很好奇如何维护UI和应用程序逻辑的分离,或许更重要的是,如果存在等效的数据绑定.两种不同的设计模式将如何实现相同的方案.

视图模型

在视图模型中,您将拥有一个类,视图中的组件也将绑定在该类中.有点像:

namespace solution.ViewModels
{
    public class MainViewModel : BaseViewModel
    {
        private DateTime _fromDate;

        public DateTime FromDate
        {
            get { return _fromDate; }
            set { _fromDate = value; OnPropertyChanged("FromDate"); }
        }

        private DateTime _toDate;

        public DateTime ToDate
        {
            get { return _toDate; }
            set { _toDate = value; OnPropertyChanged("ToDate");}
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

BaseViewModel的位置是:

public class BaseViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net wpf asp.net-mvc mvvm

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

循环自引用对象

我有一个对象,它可以包含自己类型的列表。例如,项目类包含各种属性。另一个类 ItemSet 由一个项目列表组成,但也可以有一个嵌套的 Item 集。换句话说,一个 ItemSet 可以包含其他项目集。这看起来如下:

public class Item
{
    public int Property1 { get; set; }
    public int Property2 { get; set; }
    public int Property3 { get; set; }
    public int Property4 { get; set; }
}

public class ItemSet
{
    public List<Item> Items { get; set; }
    //.
    //.
    //.
    //.
    public List<ItemSet> ItemSets { get; set; }



}
Run Code Online (Sandbox Code Playgroud)

我一直在兜圈子(哈哈,明白了吗?)试图找出如何循环遍历 ItemSet 对象。我一直无法适应父子集的无限可能性。我觉得我让这比它需要的要困难得多。

ItemSets = getItemSets(....);
bool hasSets = false;
ItemSet currentItemSet;
foreach(ItemSet itemSet in currentItemSets)
{ …
Run Code Online (Sandbox Code Playgroud)

c# foreach loops while-loop

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

C#泛型 - 返回具有依赖于参数的类型的列表.

完全披露,我不完全理解泛型,但我希望这个问题的答案将清除.

我有一个应用程序,允许用户构建自己的查询.该查询将利用实体框架.我想返回一个结果列表,其类型取决于他们查询的列.换句话说,我需要一个可以有多种返回类型的方法.我使用列上的反射派生类型,然后想传递给此方法.

    public static T getValues<T>(string ColName, Type type)
    {
        var result = db.AC_PROPERTY.Select(ColName);

        if (type == typeof(string))
        {
            List<string> list = new List<string>();
            //Query and add results to list. 
            return list;

        }

        if (type == typeof(double?) || type == typeof(double))
        {
            List<double> list = new List<double>();
            //Query and add results to list. 
            return list;

        }

        if (type == typeof(int) || type == typeof(int?))
        {
            List<int> list = new List<int>();
            //Query and add results to list. 
            return list;
        }

        if …
Run Code Online (Sandbox Code Playgroud)

c# generics entity-framework

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

Linq to SQL 不同值字典

我希望使用 linq to sql 查询,然后将其转换为不同值的字典。键和值都来自查询。

var model = db.LANDGRID_PLSS_SECTIONS
                .Select(x => new {x.MERIDIAN_CODE,x.MERIDIAN})
                .ToDictionary(kvp=> kvp.MERIDIAN_CODE as string, kvp=> kvp.MERIDIAN as string)
                .Distinct();
Run Code Online (Sandbox Code Playgroud)

这会返回一个异常,表明具有该值的项键已存在。

这本字典需要是类型Dictionary<string,string>

更新

在表中,MERIDIAN_CODE 将始终具有相同的 MERIDIAN 值。然而,它确实在表中出现了多次。Meridian 是代码的用户友好版本。我需要在视图中使用两者。

c# linq-to-sql

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