小编r3p*_*ica的帖子

防伪令牌问题(MVC 5)

我遇到了防伪令牌的问题:(我已经创建了自己的User类,但是现在每次进入/ Account/Register页面时我都会收到错误.错误是:

" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier "或" http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider " 类型的声明是不在提供的ClaimsIdentity上.要使用基于声明的身份验证启用防伪令牌支持,请验证配置的声明提供程序是否在其生成的ClaimsIdentity实例上提供这两个声明.如果配置的声明提供程序使用不同的声明类型作为唯一标识符,则可以通过设置静态属性AntiForgeryConfig.UniqueClaimTypeIdentifier来配置它.

我找到了这篇文章:

http://stack247.wordpress.com/2013/02/22/antiforgerytoken-a-claim-of-type-nameidentifier-or-identityprovider-was-not-present-on-provided-claimsidentity/

所以我将Application_Start方法更改为:

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);

    AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Email;
}
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到了这个错误:

提供的ClaimsIdentity中没有" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress " 类型的声明.

有没有人遇到过这个?如果是这样,你知道如何解决它吗?

提前干杯,
r3plica

更新1

这是我的自定义用户类:

public class Profile : User, IProfile
{
    public Profile()
        : base()
    {
        this.LastLoginDate = DateTime.UtcNow;
        this.DateCreated = DateTime.UtcNow;
    }

    public Profile(string userName)
        : base(userName)
    {
        this.CreatedBy = this.Id;

        this.LastLoginDate = DateTime.UtcNow;
        this.DateCreated = DateTime.UtcNow;

        this.IsApproved = true;
    }

    [NotMapped]
    public HttpPostedFileBase File { …
Run Code Online (Sandbox Code Playgroud)

c# authentication asp.net-mvc claims-based-identity

112
推荐指数
6
解决办法
6万
查看次数

Visual Studio 2015/IISExpress更改SSL端口

我有2个项目,一个Web API和一个客户端angularJS项目(使用Empty Project模板创建).我的客户端要求我强制使用SSL,因此对于Web API,我创建了一个filterAttribute.无论如何,我将两个项目都改为SSL Enabled.问题是,两个项目都显示其SSL URL为http:// localhost:44300,这显然不起作用.

所以我决定更改applicationhost.config文件.对于Visual Studio 2015,它似乎位于.vs文件夹中.当我在那里更改它时,如果我打开我的项目,它会覆盖它并将其重新置于44300.

我尝试创建一个虚拟目录(在我的API的属性中),我试图覆盖应用程序根URL.都没有奏效.

有谁知道如何使用不同的SSL端口?

iis-express visual-studio-2015

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

移动经过中心时,光滑的动画

我正在使用光滑来制作这样的旋转木马:

在此输入图像描述

我使用过这些设置:

{
    dots: false,
    slidesToShow: 3,
    focusOnSelect: true,
    swipeToSlide: true,
    centerMode: true,
    event: {
        init: scope.init
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎让实际的动画工作得很好.下一部分(这是导致我问题的一点)是试图让" "和文本以大小颜色设置动画.有谁知道我会怎么做呢?我正在尝试使用滑动方法,但问题是我正在滑动哪个项目最接近中心.

任何帮助将不胜感激.


更新

所以我设法做了一部分.我将init回调添加到选项中,并添加了一些代码来计算中心元素的位置及其大小.

// Extend our scope
angular.extend(scope, {
    init: function (e, slick) {

        // Get our dragable element
        var sizes = scope.options.sizes,
            draggableElement = element[0].getElementsByClassName('draggable')[0],
            centerElement = draggableElement.getElementsByClassName('slick-center')[0].childNodes[0];

        // Set the active dimensions and margins
        centerElement.style.width = sizes.finish + 'px';
        centerElement.style.height = sizes.finish + 'px';
        centerElement.style.borderRadius = sizes.finish / 2 + 'px';
        centerElement.style.marginTop …
Run Code Online (Sandbox Code Playgroud)

javascript jquery angularjs

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

Angular 8 和导入 Json

我已经阅读了一些文章,说明您现在可以从 type script 2.9 直接导入 json。所以我修改了我的tsconfig.json文件如下:

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  },
  "angularCompilerOptions": {
    "fullTemplateTypeCheck": true,
    "strictInjectionParameters": true
  },
  "paths": {
    "@data/*": ["src/core/data/*"],
    "@models/*": ["src/core/models/*"],
    "@services/*": ["src/core/*"],
    "@environments/*": ["src/environments/*"]
  },
  "resolveJsonModule": true,
  "esModuleInterop": true,
  "allowSyntheticDefaultImports": true
}
Run Code Online (Sandbox Code Playgroud)

然后我像这样将 json 导入到我的组件中:

import particlesJson from '../../assets/particles.json';
Run Code Online (Sandbox Code Playgroud)

它运行良好,但我在控制台中收到错误消息:

src/app/profile/login.component.ts(3,27) 中的错误:错误 TS2732:找不到模块“../../assets/particles.json”。考虑使用“--resolveJsonModule”导入带有“.json”扩展名的模块

我怎样才能阻止该错误出现?

json typescript angular

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

MVC 5自定义用户存储

我需要构建一个自定义UserStore(基本上因为我有一些默认情况下不属于框架的要求)但我无法找到任何关于如何执行此操作的文档.

我看到两条信息很接近:

  1. http://kazimanzurrashid.com/posts/implementing-user-confirmation-and-password-reset-with-one-asp-dot-net-identity-pain-or-pleasure - 这似乎适用于早期版本:(
  2. MVC 5 IoC和身份验证 - 这与我的要求类似,但我需要看一些代码:(

基本上我需要知道如何创建用户以及如何登录.其余我可以弄明白.我想主要问题是处理密码等.

有没有人知道任何可能对我有帮助的文件?或者,如果默认的UserStore存在细分,那么它的内部方法会很好(我可以从那里进行调整).

c# asp.net asp.net-mvc asp.net-mvc-5

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

在ie11中发生SVG问题

我有一个div,其高度设置为320像素,然后它的子设置为100%的宽度.那个孩子是一个SVG文件,我将宽度设置为容器的200%.在chrome和firefox工作正常,我得到一个像这样的好图像:

在此输入图像描述

HTML看起来像这样:

<div class="kit-template ng-isolate-scope front">
    <div class="svg-document ng-scope">
        <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 259.5 131.4" enable-background="new 0 0 259.5 131.4" xml:space="preserve" class="ng-scope">
            <!-- Removed for brevity -->
        </svg>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS/SASS看起来像这样:

.kit-template {
    overflow: hidden;
    position: relative;   
    height: 320px;

    .svg-document {  
        width: 100%;   
        overflow: hidden;
        margin: 0 auto;
        /*position: absolute;
        bottom: 0;*/

        svg {
            width: 200%;

            path, polyline, polygon, rect {
                cursor: pointer;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

就像我说的,这适用于Chrome,Firefox和IE Edge.但是在IE11中,我得到了这个:

在此输入图像描述

如果我检查元素,我可以看到SVG看起来左右有填充,但我可以向你保证不会.

有谁知道为什么会这样,以及我如何解决它?

更新1

我在codepen上创建了一个非常简单的版本,因此您可以看到问题.这里是:

http://codepen.io/r3plica/pen/Kdypwe

在chrome,firefox,Edge和IE11中查看.你会看到只有IE11才有问题.

html css svg internet-explorer-11

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

列出垂直对齐文本中间与列表样式图像

我试图垂直对齐列表中的一些文本并遇到问题.首先,你需要知道我已经用自定义图像替换了list-style-image.这是我的CSS:

ul.cogs li { 
    list-style-image: url(Images/li_cog.png); 
    height: 50px; 
    line-height: 50px; 
}
Run Code Online (Sandbox Code Playgroud)

我试图看看是否有办法让文本与中间对齐.我试过了:

vertical-align:middle;

这没用,所以我试过:

line-height:50px;

这也没用,所以我试过:

显示:表格

哪个有效,但图像从列表项中消失了....

有没有人知道如何使这个工作?

html css list

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

System.Web.Http.Owin WebApi2安装失败

我在.net和NUGet中发现的令人讨厌的事情之一就是我永远不知道默认情况下安装了什么版本的东西.当尝试向现有项目添加内容时,这可能会非常令人沮丧.....

这是我目前的困境.

我有一个只有MVC的MVC 5项目.这个项目非常庞大,将其转移到另一个项目的工作需要花费太多时间.所以,我打开了NUGet并输入了WebApi并安装了它.

然后我创建了一个空白的WebApi项目,其中设置了个人帐户,并将StartUp代码复制到我当前的StartUp以及所需的任何其他配置中.

然后我开始创建我的AccountController,它直接从我创建的干净项目中复制.它看起来像这样:

[Authorize]
[RoutePrefix("api/Account")]
public class AccountController : ApiController
{
    private const string LocalLoginProvider = "Local";

    public AccountController()
        : this(Startup.UserManagerFactory(), Startup.OAuthOptions.AccessTokenFormat)
    {
    }

    public AccountController(UserManager<IdentityUser> userManager,
        ISecureDataFormat<AuthenticationTicket> accessTokenFormat)
    {
        UserManager = userManager;
        AccessTokenFormat = accessTokenFormat;
    }

    public UserManager<IdentityUser> UserManager { get; private set; }
    public ISecureDataFormat<AuthenticationTicket> AccessTokenFormat { get; private set; }

    // GET api/Account/UserInfo
    [HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
    [Route("UserInfo")]
    public UserInfoViewModel GetUserInfo()
    {
        ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);

        return new UserInfoViewModel
        {
            UserName = User.Identity.GetUserName(),
            HasRegistered = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-web-api

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

SingleOrDefault返回null时的LINQ新实例

另一个快速问题.我有这个简单的方法:

    #region Fields

    private Collection<Address> _addresses;

    #endregion

    #region Public methods

    public Address DeliveryAddress()
    {
        if (_addresses == null)
            if (this.Id > 0)
                _addresses = Core.Data.Addresses.GetClient(this.Id);

        return _addresses.SingleOrDefault(x => x.TypeId == AddressType.Delivery);
    }

    public Address InvoiceAddress()
    {
        if (_addresses == null)
            if (this.Id > 0)
                _addresses = Core.Data.Addresses.GetClient(this.Id);

        return _addresses.SingleOrDefault(x => x.TypeId == AddressType.Invoice);
    }

    #endregion
Run Code Online (Sandbox Code Playgroud)

正如你可以看到我试图返回的一个结果DeliveryAddress,并为一个结果InvoiceAddress.我的问题是我希望链接表达式创建Address()if SingleOrDefault返回的新实例null.我对linq很新,所以我不确定SingleOrDefault我应该使用的是正确的表达式.

c# linq asp.net

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

AngularJs ng-options获得id

这应该很简单,但我不知道该怎么做.我有一个选择控件,如下所示:

<div class="form-group" ng-class="{ 'has-error' : saveForm.status.$invalid && !saveForm.status.$pristine }">
    <label class="control-label">Status</label>
    <select class="form-control" name="status" ng-options="status.name for status in controller.statuses.data track by status.id" ng-model="controller.model.data.statusId" required>
        <option value="">Select a status</option>
    </select>
</div>
Run Code Online (Sandbox Code Playgroud)

NG-模型是必然controller.model.data.status因为我想整个对象的时间.现在我只需要选择的id,所以我将ng-model更改为controller.model.data.statusId,正如您所期望的那样整个状态对象现在绑定到该模型位置.如何在select控件中显示名称的同时选择id而不是整个对象?

请求的codepen示例:

http://codepen.io/r3plica/pen/yNgLqp

angularjs

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