小编Ing*_*mar的帖子

MS Azure /代码优先:用户登录失败

我想将我的ASP.NET应用程序部署到MS Azure(和SQL Azure).该应用程序使用代码优先.

发布我的应用程序并调用相应的URL后,我收到一条错误消息:

用户'myUserName'登录失败.已为此会话分配了跟踪ID"8beaff1c-629f-45b3-991b-228425bc30a4".在需要帮助时,请将此跟踪ID提供给客户支持.

我很确定这是由于我的配置文件中的连接字符串.

这是我的web.config的相关摘录:

<connectionStrings>
    <add name="dbContext" 
         connectionString="server(local)\SQLEXPRESS;database=myDB;integrated security=true;MultipleActiveResultSets=True" 
         providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

这是相应的web.release.config:

  <connectionStrings>
    <add name="ApplicationServices" connectionString="Server=tcp:xt1rnwvt89.database.windows.net;Database=myDB;User ID=myUserName@xt1rnwvt89;Password=myPassword;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
    <add name="dbContext" connectionString="Server=tcp:xt1rnwvt89.database.windows.net,1433;Database=myDB;User ID=myUserName@xt1rnwvt89;Password=myPassword;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

我不确定我是否需要ApplicationServicesdbContext设置......?

当然,上面给出的凭证是匿名的.但真正的凭据应该是正确的,因为我可以使用SQL Server Management Studio(SSMS)成功连接到我的Azure数据库.

我已经检查了几个文档和教程,如https://www.windowsazure.com/en-us/develop/net/tutorials/web-app-with-sql-azure/,但我还没找到解决方案.一切似乎都没问题.

有人有想法吗?

azure ef-code-first azure-sql-database

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

如何验证货币字段?

我有一个带有此货币字段的ASP.NET MVC-4应用程序:

    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:c}", ConvertEmptyStringToNull = true)]
    [DataType(DataType.Currency)]
    public decimal? Price { get; set; }
Run Code Online (Sandbox Code Playgroud)

这是我认为的相应部分:

    @Html.EditorFor(model => model.Price)
    @Html.ValidationMessageFor(model => model.Price)
Run Code Online (Sandbox Code Playgroud)

如果价格为100欧元,则视图中的文本字段显示:

100,00€

这很好.

但是一旦我尝试回发,我就遇到了问题.验证器会弹出并说价格字段需要是一个数字.

如果(1)我删除了€符号并且(2)替换了小数分隔符(用点替换逗号),我只能解决这个问题.

如果没有更好的解决方案,我想我可以更改DataFormatString ="{0:F2}"以避免使用货币符号.

但是如何使验证器接受逗号作为小数分隔符而不是(美国)点?

谢谢你的帮助,伙计们!

razor ef-code-first asp.net-mvc-4

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

什么是GenerateEmailConfirmationToken()正在做什么?

我有两个关于ASP.Identity 2.0"GenerateEmailConfirmationToken/GenerateEmailConfirmationTokenAsync"方法的问题.

// Generate token
var token = Url.Encode(await UserManager.GenerateEmailConfirmationTokenAsync(user.Id));
Run Code Online (Sandbox Code Playgroud)
  1. 这个令牌是否存储在数据库中?我想它应该.但在哪个领域呢?我只是在User表上找到"PasswordHash"和"SecurityStamp".两者似乎都不匹配.
  2. 我的印象是,一旦我生成了电子邮件令牌,User表的EmailConfirmed字段就会设置为false.但它仍然是真的.那么,如果相应的用户帐户保持确认,创建令牌的目的是什么?或者换句话说:为了生成新令牌我还需要做什么?还要将帐户设置为未确认?

asp.net-identity-2

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

使用 MongoClientSettings 时无法进行身份验证

我正在尝试连接到 MongoDb 数据库。

  • 我的客户:带有 MongoDb.Driver 2.6.1 的 ASP.NET Core 2
  • 我的服务器:MongoDb 3.6.5 社区版,独立(无副本集),Windows Server 2016 上的 64 位。

通过连接字符串进行身份验证正在工作:

public MongoDbContext(AppSettings appSettings)
{
    var connectionString = "mongodb://myUsername:myPassword@myDomain.com:27017/myDatabaseName";

    _client = new MongoClient(connectionString);

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

MongoClientSettings 的身份验证不起作用

public MongoDbContext(AppSettings appSettings)
{
    var credentials = MongoCredential.CreateMongoCRCredential(databaseName: "myDatabaseName", username: "myUsername", password: "myPassword");
    var server = new MongoServerAddress(host: "myDomain.com", port: 27017);

    var mongoClientSettings = new MongoClientSettings
    {
        Credential = credentials,
        Server = server,
        ConnectionMode = ConnectionMode.Standalone,
        ServerSelectionTimeout = TimeSpan.FromSeconds(3)
    }; …
Run Code Online (Sandbox Code Playgroud)

c# mongodb-.net-driver

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

带有外壳的Windows服务器上无法连接到MongoDb 4.0.9

我在Windows Server 2016 Standard上将MongoDb 4.0.9作为服务运行。

这是我的mongod.cfg:

项目清单

  • 为了进行测试,我完全关闭了服务器的防火墙。
  • 到目前为止,我尚未使用SSH或任何其他隧道
  • Windows服务以“网络服务”身份登录
  • 我在“管理员”数据库中有一个用户,其角色为“ userAdminAnyDatabase”,“ dbAdminAnyDatabase”和“ readWriteAnyDatabase”

我的本地计算机是Windows 10,在这里我也安装了Mongo 4.0.9。我正在尝试通过外壳连接到服务器的数据库:

在此处输入图片说明

当我进入服务器(远程桌面)时,我可以成功连接(相同的用户凭据):

在此处输入图片说明

我没有足够的想法进行远程连接时我在做什么错。

还有一个令人困惑的地方:我在另一台服务器上做着完全相同的事情(不同的提供程序,不同的数据库,但还有Windows Server 2016 Standard,MongoDb 4.0.9以及相同的用户和角色)。在这里,我的CAN连接。

因此,我认为它与Windows Server(而不是Mongo ...)的设置有关吗?

有人有主意吗?

mongodb

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

如何在 Bootstrap 5 中使用 CSS 变量?

我一直在玩 Bootstrap 的全新 5.0.1。

官方文档中,他们说他们在编译的 CSS 中使用 CSS 变量。

在我看来,我可以在运行时覆盖某些颜色。例如,我希望整个“主要”主题使用红色而不是默认的蓝色。

请参阅这个非常简单的示例。什么都没发生。徽章和按钮仍然是蓝色的。

<html>
    <head>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
        <style>
          :root{--bs-primary: red;}
         </style>
     </head>
     <body>        
        <div class="badge bg-primary">100</div>
        <button class="btn btn-primary">Just a button</div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

你们有什么感想?我做错了什么吗?或者 Bootstrap 团队还没有准备好为每个组件提供 CSS 变量?

重要提示:我知道我可以使用 SASS 在编译时从蓝色切换到红色。但我需要一个让我在运行时更改颜色的解决方案,因为我根本不知道编译时所需的颜色。

更新 05/16/2021:此时我想知道的是 Bootstrap 团队是否仍在致力于将 CSS 变量添加到已编译的css 中(可能在 v5.xx 中) - 或者我是否误解了整个事情?感谢你们。

2021 年 5 月 17 日更新:修改徽章非常简单,正如 @Sameer 下面向我们展示的那样。然而,修改按钮并不是那么简单。所以我在我的示例中添加了一个按钮。

2021 年 5 月 18 日更新:对于任何感兴趣的人,我在Bootstrap …

twitter-bootstrap

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

让所有用户获得某项索赔?

对于ASP.NET Identity 2.0:

有人知道如何"分配给定索赔的所有用户"吗?

假设我有一个type ="ArticleId"和value ="1"的声明.

如何让所有拥有此声明的用户获得此声明?我真的想不出来..所以,谢谢你的帮助!!

c# asp.net-identity

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

如何访问嵌入式附件?

我正在使用MailKit/MimeKit 1.2.7(最新的NuGet版本).

我正在使用ImapClient接收可能具有不同附件(图像,文本文件,二进制文件等)的电子邮件.

MimeMessage的Attachment属性帮助我访问所有这些附件 - 除非电子邮件与Apple Mail一起发送包含图像(似乎Apple Mail没有附加带有内容处置的图像"附件"(在此处阅读...来自Jeffrey Stedfast的评论)在最底部).

附件集合中列出嵌入的图像.

我有什么选择?我是否真的必须逐个穿过身体部位,看看里面是什么?或者是否有更简单的解决方案?

c# mimekit

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

如何保存附件?

我正在使用 MailKit/MimeKit 1.2.7(最新的 NuGet 版本)。

我一直在阅读 API 文档和关于 stackoverflow 的几篇文章。但我仍然无法成功将电子邮件附件保存为文件。

这是我当前的代码:

var mimePart = (attachment as MimePart);
var memoryStream = new MemoryStream();
mimePart.ContentObject.DecodeTo(attachmentStream);

using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
      memoryStream.CopyTo(fileStream);
}
Run Code Online (Sandbox Code Playgroud)

我一直在尝试带有不同类型附件的代码。我光盘上创建的文件总是空的。

我错过了什么?

c# mimekit

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

将多个通用接口传递给方法

我试图将多个通用接口作为参数传递给我的一个类的构造函数.

以下代码无法编译:

public interface IPosterGenerator<T>
{
    IQueryable<T> GetPosters();
}

public class Pinboard
{
    public Pinboard(IPosterGenerator<A> firstPosterGenerator, IPosterGenerator<B> secondPosterGenerator, IPosterGenerator<B> thirdPosterGenerator)
    { 
    }
}
Run Code Online (Sandbox Code Playgroud)

我有大约一百种不同类型的海报生成器.它们都继承自IPosterGenerator接口.当我实例化一个新的Pinboard时,我需要将三个IPosterGenerators传递给pinboard的构造函数.但是,这三个IPosterGenerators中的每一个都是不同类型的.这就是我想出这个愚蠢的A,B和C的原因.

这可以完成吗?

c# generics

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

为什么IsInRole总是返回false?

我正在使用ASP.NET Identity 2.0和EF 6.1.1构建MVC5应用程序.

这是我当前的Login方法的一部分:

    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
    {
        if (!ModelState.IsValid)
            return View(model);

        var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: true);
        switch (result)
        {
            case SignInStatus.Success:
                {
                    var user = await UserManager.FindAsync(model.UserName, model.Password);

                    if (user == null)
                        break;

                    if (!UserManager.IsInRole(user.Id, "OfficeUser"))
                        break; // << I always hit this line - even if the user is an OfficeUser
Run Code Online (Sandbox Code Playgroud)

这个工作正常,直到我点击UserManager.IsInRole().这总是返回false.

在某处我读到IsInRole()如果相应的用户没有登录就会失败.但是因为我传递了SignInManager.PasswordSignInAsync(),我相信这应该没问题.

是的,我已经多次检查数据库并且非常小心;)我的测试用户和我的测试角色"OfficeUser"肯定是相互分配的.

有人有想法吗?

ef-code-first asp.net-identity

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

如何将数据属性添加到引导树视图?

我正在使用bootstrap-treeview 1.2.0(来自Jon Miles)。

我的目标是将自定义数据属性添加到列表项的标记中,例如

<li class="list-group-item node-tree" data-id="100" data-type="user" ...>
Run Code Online (Sandbox Code Playgroud)

我试图遵循这些说明,请参见此处,这是我的JSON的一部分:

[{"text":"Root","icon":null,"data-id":1,"data-type":"branch","nodes":[{"text":"Steve","icon":null,"data-id":17, "data-type":"user","nodes":...
Run Code Online (Sandbox Code Playgroud)

对我来说,JSON看起来不错。但是我的数据属性都没有在标记中呈现。

有任何想法吗?

treeview twitter-bootstrap-3

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